【Qt5】Qt Creator中CMake的qt5_wrap_ui函数

2023年12月14日,周四下午


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

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

set(CMAKE_AUTOUIC OFF)

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

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

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

qt5_wrap_ui命令将会生成一个包含了每个输入.ui文件所对应的C++头文件的变量。你可以将这个变量与其他源文件一起添加到可执行文件中。

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

# 将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. Qt5Qt CreatorCMakeqt5_wrap_ui函数

    2023-12-15 05:10:02       26 阅读
  2. Qt5】QDialogpos函数

    2023-12-15 05:10:02       35 阅读
  3. Qt5】QString成员函数arg

    2023-12-15 05:10:02       37 阅读
  4. pythonqt5入门

    2023-12-15 05:10:02       37 阅读
  5. Qt5常用模块

    2023-12-15 05:10:02       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-15 05:10:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-15 05:10:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-15 05:10:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-15 05:10:02       18 阅读

热门阅读

  1. OpenStack命令行创建的云主机无法使用ssh登录

    2023-12-15 05:10:02       25 阅读
  2. AtCoder ABC176

    2023-12-15 05:10:02       36 阅读
  3. Electron V28主进程与渲染进程互相通信总结

    2023-12-15 05:10:02       34 阅读
  4. vue,uniapp生成二维码

    2023-12-15 05:10:02       39 阅读
  5. virtual 安装ubuntu 和 centos

    2023-12-15 05:10:02       32 阅读
  6. Redis过期淘汰策略

    2023-12-15 05:10:02       31 阅读
  7. 正则表达式入门与实践

    2023-12-15 05:10:02       33 阅读
  8. 判断某个ip是否在某个网段下

    2023-12-15 05:10:02       38 阅读
  9. 「IoT&云服务」概念整理

    2023-12-15 05:10:02       36 阅读