在重构LibreCad软件的过程中,我选择了Cmake方式,在cmake配置qt项目的过程中会遇到很多问题,比如项目中的ui文件如何生成头文件ui_xx.h。
那么,项目中的xx.ui文件如何生成ui_xx.h头文件呢?
我根据自己实际操作的方式,其实现分两种互补的方法。
1.在CMakeLists.txt文件中使用qt_wrap_ui(UI_FILES xx.ui)指令;
# 文件:CMakeLists.txt # 配置内容:将qt项目中设计的ui文件生成对应的ui_xx.h头文件 # 开启uic编译器 set(CMAKE_AUTOUIC ON) #查找当前文件夹中的所有源代码文件,也可以通过Set命令将所有文件设置为一个变量 FILE(GLOB SRC_FILES "./*.cpp") #查找设置当前文件夹中所有的头文件 FILE(GLOB HEAD_FILES "./*.h") #查找设置当前文件夹中所有的ui文件 FILE(GLOB UI_FILES "./*.ui") #通过Ui文件生成对应的头文件 qt_wrap_ui(WRAP_FILES ${UI_FILES}) #将ui文件和生成文件整理在一个文件夹中,非必须 source_group("Ui Files" FILES ${UI_FILES} ${WRAP_FILES} )
#创建工程文件 #add_executable(ui ${SRC_FILES} ${HEAD_FILES} ${WRAP_FILES}) #导入Qt相关的头文件 target_link_libraries(ui public Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Widgets )
2.如果你感觉cmake的配置方式生成ui_xx.h头文件有问题,可以在电脑桌面打开“终端窗口”,直接通过qt提供的【uic编译器】进行编译。
uic编译器的使用,我们需要先进入上图中的lc_deviceoptions.ui的目录中,才能编译出ui_lc_deviceoptions.h头文件。
3.我们要进行测试,当头文件ui_lc_deviceoptions.h产生后,再把它复制到指定的build目录中,并在Qt Creator代码编辑器中去重新构建项目,继续点击ui_lc_deviceoptions.h文件,能正常打开即可include。
你咋不吹你的QML和JS了?别拖控件啊,QML用起来啊
后面会用上。
Featured Collection
Popular Ranking
Popular Events
在重构LibreCad软件的过程中,我选择了Cmake方式,在cmake配置qt项目的过程中会遇到很多问题,比如项目中的ui文件如何生成头文件ui_xx.h。
那么,项目中的xx.ui文件如何生成ui_xx.h头文件呢?
我根据自己实际操作的方式,其实现分两种互补的方法。
1.在CMakeLists.txt文件中使用qt_wrap_ui(UI_FILES xx.ui)指令;
2.如果你感觉cmake的配置方式生成ui_xx.h头文件有问题,可以在电脑桌面打开“终端窗口”,直接通过qt提供的【uic编译器】进行编译。
uic编译器的使用,我们需要先进入上图中的lc_deviceoptions.ui的目录中,才能编译出ui_lc_deviceoptions.h头文件。
3.我们要进行测试,当头文件ui_lc_deviceoptions.h产生后,再把它复制到指定的build目录中,并在Qt Creator代码编辑器中去重新构建项目,继续点击ui_lc_deviceoptions.h文件,能正常打开即可include。