Группируйте файлы .ui в дереве проекта при использовании CMake

#c #qt #cmake #qt-creator

Вопрос:

У меня есть простой проект с графическим интерфейсом в QtCreator, который состоит из нескольких файлов .cpp .h и .ui и использует CMake в качестве системы сборки.

Проблема, с которой я сталкиваюсь, заключается в том, что файлы .ui, как и файлы .cpp и .h, не сгруппированы под соответствующим заголовком в дереве проекта. Они просто отображаются на том же уровне, что и заголовки .cpp и .h (см. Рисунок ниже).

введите описание изображения здесь

У меня не было такой проблемы, когда я использовал qmake в качестве системы сборки. Я вполне могу смириться с этим, но по мере роста проекта это может становиться очень раздражающим. Есть ли способ в QtCreator настроить внешний вид дерева проекта?

Ответ №1:

Вы можете использовать source_group в своем CMakeLists.txt чтобы сгруппировать *.ui файлы в качестве исходной группы в QtCreator или другой среде разработки

 file(GLOB_RECURSE UI_SRC "*.ui")
source_group("Ui Files" FILES ${UI_SRC})
 

Это также работает, например, для файлов .qml.