自从CMake被引入到KDE项目的编译系统中后,CMake的使用者日益增多,Qt也不例外,除了使用QMAKE编译Qt程序外,也可以使用CMake来编译Qt程序,并且CMake在使用上更灵活,特别是大型程序。

CMake对于Qt4和Qt5都支持,不过使用上有点差异,这里主要看下Qt5下使用CMake编译Qt程序。

官方文档链接: http://qt-project.org/doc/qt-5.0/qtdoc/cmake-manual.html

这里是针对CMake 2.8.9版本以及之后的版本。

对于一个Widget UI的Qt程序, 首先:

# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)# Instruct CMake to run moc automatically when needed
set(CMAKE_AUTOMOC ON)set(EXECUTABLE_OUTPUT_PATH  "${PROJECT_SOURCE_DIR}/bin")# Find the QtWidgets library
find_package(Qt5Widgets)

假设我们的UI程序中的界面是通过Qt Designer 设计的,则接下来CMake的内容如下:

qt5_wrap_ui(ui_FILES gotocelldialog.ui)
add_executable(gotocelldialogmain.cpp${ui_FILES})# Use the Widgets module from Qt 5qt5_use_modules(gotocelldialog Widgets)

另外, 如果创建的资源文件,则需要

qt5_add_resources来生成对应的CPP文件。

最后,编写我们的main函数:

#include <QApplication>
#include <QDialog>#include "ui_gotocelldialog.h"int main(int argc, char *argv[])
{QApplication app(argc, argv);Ui::GoToCellDialog ui;QDialog *dialog = new QDialog;ui.setupUi(dialog);dialog->show();return app.exec();
}

转载于:https://my.oschina.net/fuyajun1983cn/blog/263772

CMake编译Widget UI Qt程序相关推荐

  1. Qt的qrc资源文件在Visual studio编译出的Qt程序中不能显示问题解决

    这种情况一般是qrc资源文件没编译或资源文件如图片等不存在导致,在Visual studio项目上,单击鼠标右键,在弹出的右键中选择"添加--->新建筛选器",将新建的文件夹 ...

  2. Qt 程序在 Windows 下的发布

    「博客搬家」 原地址: CSDN 原发表时间: 2016-06-04 本文讨论在 Windows 平台下编译成功的 Qt 程序,如何在未配置 Qt 开发环境的 Windows 平台下独立运行的方法. ...

  3. Cmake NDK交叉编译Android平台程序

    当我们需要把我们的C++程序编译成Android平台的so库时,就需要用到交叉编译,有两种方法 目录 一:利用NDK进行编译 1.首先安装NDK 2.直接cmake, 二,独立的交叉编译工具链 1.安 ...

  4. 迅为4412开发板一键烧写QT程序到开发板

    之前我们写好一个程序,都是先交叉编译完,然后在通过 nfs/tftp 或者其他的方法拷贝到开发板,然后在手动执行,如果我们调试程序很频繁,那我们每次都重新拷贝到开发板,那这样就太麻烦了,有没有方便一点 ...

  5. Window系统打包QT程序

    1.为什么打包 有时候我们编译出来的QT程序要给别人用,那么别人的电脑上可能没有安装QT,QT版本不同,或者其他因素的影响导致运行不了我们的程序,那么就需要打包给别人,把程序运行时候需要的一些库等资源 ...

  6. Qt Creator创建基于Qt Widget的应用程序

    Qt Creator创建基于Qt Widget的应用程序 创建基于Qt Widget的应用程序 创建文本查找器项目 设计用户界 头文件 源文件 创建资源文件 编译并运行程序 创建基于Qt Widget ...

  7. xmake 新增对 Qt 编译环境支持,用自己最喜爱的编辑器去开发 Qt 程序

    最近给xmake新增了对 Qt SDK 环境的支持,现在我们完全可以脱离 Qt Creator 进行 Qt 应用程序的开发,甚至配合 vscode/idea/sublime/vim 等编辑器+xmak ...

  8. Linux使用cmake编译项目,如何使用cmake在linux中构建Qt项目(How to build Qt project in linux with cmake)...

    如何使用cmake在linux中构建Qt项目(How to build Qt project in linux with cmake) 我使用的是ubuntu 14.04,cmake 2.8.12.2 ...

  9. linux下QT工程调用opencv、libtorch,并用cmake编译,及其遇到的一些问题的解决方法

    linux下QT工程调用opencv.libtorch,并用cmake编译: 文章目录 一.新建QT工程 二.编写CMakeLists.txt文件 三.各个文件的内容如下: 1.mainwindow. ...

最新文章

  1. MTK Android添加驱动模块
  2. 红外倒车雷达原理图_自动驾驶汽车传感器技术解析—毫米波雷达
  3. 【linux】telnet ctrl+c 不退出问题解决
  4. Hibernate的like用法
  5. pythonclass的使用详情_python 类class基础简明笔记
  6. 按计算机应用领域来分 电子邮件属于,计算机考试题库和答案.doc
  7. 计算机科学导论:第六章 计算机网络和因特网
  8. 免费国外视频素材网站
  9. 网页端调用客户端的cs 程序
  10. python表示倍数_倍数 python
  11. T细胞培养方法进展及方法学对比
  12. linux 类似winscp_什么是类似于WinSCP的程序?
  13. 用Python写一个简单的api接口
  14. 行式存储和列式存储的数据库
  15. 什么是云计算?IDC服务器托管和云服务器(云主机)哪个更划算?
  16. Dalvik smali语法
  17. 解决gazebo [gazebo_gui-3] process has died和[Err] [REST.cc:205] Error in REST request错误
  18. Hexo主题插入音乐之aplayer音乐播放器
  19. 迪文屏幕动态曲线显示问题记录
  20. hilbert C语言

热门文章

  1. c++ 隐式类型转换
  2. 长城电脑或收购夏新电子笔记本业务
  3. redux和react-redux的使用详解
  4. 我来做百科(第九天)
  5. echart(2),模拟数据导入篇
  6. linux进程与端口查看命令
  7. angula简单应用---购物篮
  8. 华为防火墙USG基本配置
  9. 【BZOJ】1034: [ZJOI2008]泡泡堂BNB(贪心)
  10. [Javascipt] Immediately-Invoker 2