【Qt5】Qt Creator中CMake的qt5_wrap_ui函数

2023年12月14日,周四下午


qt5_wrap_ui是一个CMake的宏命令,用于将Qt的用户界面文件(.ui文件)转换为对应的C++头文件。

注意在使用qt5_wrap_ui,要置CMAKE_AUTOUIC为OFF

cpp 复制代码
set(CMAKE_AUTOUIC OFF)

在Qt中,用户界面文件(.ui文件)是使用Qt Designer创建的,它包含了界面的布局、控件以及信号槽等信息。当构建项目时,需要将这些.ui文件转换为对应的C++头文件,以便在代码中使用。

qt5_wrap_ui宏命令的基本语法如下:

cpp 复制代码
qt5_wrap_ui(<output_variable> <input_files> [OPTIONS ...])
  • <output_variable>:生成的C++头文件的输出变量名。
  • <input_files>:要转换的.ui文件的路径列表。
  • OPTIONS ...\]:可选项,用于指定转换选项,如--no-include-prefix等。

以下是一个使用qt5_wrap_ui的示例:

cpp 复制代码
# 将ui文件转换为对应的头文件
qt5_wrap_ui(UI_HEADERS src/ui/widget.ui)

# 将源文件和生成的ui头文件添加到可执行文件中
target_sources(YourProject PRIVATE ${UI_HEADERS} src/widgets/widget.h src/widgets/widget.cpp)

在上述示例中,使用qt5_wrap_ui将src/ui/widget.ui转换为对应的C++头文件,并将生成的头文件存储在UI_HEADERS变量中。然后,使用target_sources将这些生成的头文件与其他源文件一起添加到可执行文件中。

通过使用qt5_wrap_ui,可以在CMake中方便地将Qt的用户界面文件转换为对应的C++头文件,从而在项目中使用这些界面。

相关推荐
岁忧1 小时前
macOS配置 GO语言环境
开发语言·macos·golang
朝朝又沐沐2 小时前
算法竞赛阶段二-数据结构(36)数据结构双向链表模拟实现
开发语言·数据结构·c++·算法·链表
魔尔助理顾问2 小时前
系统整理Python的循环语句和常用方法
开发语言·后端·python
Ares-Wang2 小时前
JavaScript》》JS》 Var、Let、Const 大总结
开发语言·前端·javascript
遇见尚硅谷3 小时前
C语言:*p++与p++有何区别
c语言·开发语言·笔记·学习·算法
SkyrimCitadelValinor3 小时前
c#中让图片显示清晰
开发语言·c#
艾莉丝努力练剑4 小时前
【数据结构与算法】数据结构初阶:详解排序(二)——交换排序中的快速排序
c语言·开发语言·数据结构·学习·算法·链表·排序算法
狐小粟同学4 小时前
JavaEE--3.多线程
java·开发语言·java-ee
颜颜yan_4 小时前
Python面向对象编程详解:从零开始掌握类的声明与使用
开发语言·redis·python
李永奉4 小时前
C语言-流程控制语句:for循环语句、while和do…while循环语句;
c语言·开发语言·c++·算法