C++ Gui Qt4 第二章
这一章需要使用在控制台使用qmake
使用qmake的时候要先配置qmake的环境变量
找到qmake所在的目录,添加环境变量即可
在使用的时候要先跳转到源文件所在的目录
课本中说qmake可以自动检测到用户界面文件,并可以生成适当规则的makefile规则来调用Qt的用户界面编辑器(uic)
uic工具将会将ui文件转换成C++并且存储在我们所指定的文件名(*.h)中,也就是自动生成一个头文件,该头文件包含了函数实现
然而,在实际的使用中,通过命令行:
qmake -project
qmake
并不能得到对应的头文件,通过查询我发现使用nmake可以自动生成对应的头文件
但是,后面发现,在我删掉工程文件,生成的头文件和已经生成的makefile文件等之后,再一次使用相同的命令就无法生成对应的头文件
后面发现可以直接使用uic生成对应的文件,命令行如下:
uic <ui文件名> <头文件名>
在得到所有对应的文件后,使用Qt Creator打开资源目录,在项目窗口右键该文件夹,执行qmake,会自动加载其他的.cpp文件和.h文件
我执行qmake后发现一部分没有被自动添加,这是因为.pro文件中没有声明这部分文件,打开工程文件,在下面添加相应的文件名,在执行qmake就可以了
构建项目过程中,报错Link:不能解析的XXX,这是由于项目源文件和构建目录不是同一目录
点击项目,勾选Shadow build复选框,将构建目录改成源文件所在的目录,再次构建执行就可以了
程序构建的基本思路是:
- 使用Qt Designator设计一个ui,保存
- 使用uic生成相应的头文件,头文件中的类名就是Ui_顶级对象名
- 创建一个新的类,继承自uic生成的头文件中的类,在构造函数中调用setupUi(this)函数,初始化窗口内容
- 使用Qt Creator构建并运行程序
C++ Gui Qt4 第二章的更多相关文章
- C++ GUI Qt4 编程 (第二版)
[加拿大]JasminBlanchette [英]MarkSummerfield . 电子工业 2008. 前几天的问题多是因为版本不兼容的问题. QT本身Q4 Q5就有版本问题,然后集成到VS08 ...
- 学习opencv中文版教程——第二章
学习opencv中文版教程——第二章 所有案例,跑起来~~~然而并没有都跑起来...我只把我能跑的都尽量跑了,毕竟看书还是很生硬,能运行能出结果,才比较好. 越着急,心越慌,越是着急,越要慢,越是陌生 ...
- 第二章 Qt常用工具的介绍
第二章 Qt常用工具的介绍 (1)No.1 qmake 相信编写过Makefile的开发人员,随着工程中源码的级数递增和以类型.功能.模块组织源码的子目录的增多,都不愿意重复机械地手工编写这个工程管理 ...
- 第二章排错的工具:调试器Windbg(上)
感谢博主 http://book.51cto.com/art/200711/59731.htm <Windows用户态程序高效排错>第二章主要介绍用户态调试相关的知识和工具.本文主要讲了排 ...
- <自动化测试方案_2>第二章、自动化测试是什么?(What)
第二章.自动化测试是什么?(What) 自动化测试是相对于手工测试而言:通过脚本自动去执行测试用例,从而代替人完成测试工作. 自动化测试相对手工测试优缺点 测试方式 优点 缺点 手工测试 1,完整的对 ...
- C++ GUI Qt4编程(10)-3.4spreadsheet
1. C++ GUI Qt4编程第三章,增加spreadsheet. 2. spreadsheet.h /**/ #ifndef SPREADSHEET_H #define SPREADSHEET_H ...
- C++ GUI Qt4编程(09)-3.3spreadsheet-toolbar
1. C++ GUI Qt4编程第三章,增加工具栏.状态栏和快捷键. 2. mainwindow.h /**/ #ifndef MAINWINDOW_H #define MAINWINDOW_H #i ...
- C++ GUI Qt4编程(08)-3.2spreadsheet-resource
1. C++ GUI Qt4编程第三章,图片使用资源机制法. 2. 步骤: 2-1. 在resource文件夹下,新建images文件,存放图片. 2-2. 新建spreadsheet.qrc文件,并 ...
- C++ GUI Qt4编程(07)-3.1menu
1. C++ GUI Qt4编程第三章,添加menu菜单. 2. mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include < ...
- C++ GUI Qt4编程(03)-1.3layout
1. 根据C++ GUI Qt4编程(第二版)整理2. 系统:centos7: Qt版本:5.5.13. 程序:layout.cpp #include <QApplication> #i ...
随机推荐
- Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.1.0
maven package 异常,今天打包springboot项目时碰到的问题. Failed to execute goal org.apache.maven.plugins:maven-resou ...
- springBoot简单记录日志
记录日志的几种方法 springboot项目内置日志框架 在配置文件中添加以下配置: logging: file: name: "./log/xxx.log" pattern: f ...
- 浅谈Pytest中的warning处理
浅谈Pytest中的warning处理 没有处理warning 我们写一个简单的测试 import pytest def test_demo(): import warnings warnings.w ...
- 嵌入式Linux—Framebuffer应用编程
Framebuffer 应用编程 Frame的意思是帧,buffer的意思是缓冲区.Framebuffer就是一块内存(硬件设备),里面保存着一帧图像. ioctl()函数解析 ioctl()函数非常 ...
- .net core 阿里云接口之拷贝文件
紧接上文, 1).net core 阿里云接口之获取临时访问凭证_SunshineGGB的博客-CSDN博客 2).net core 阿里云接口之将指定的OSS文件下载到流_SunshineGGB的博 ...
- 使用 DirectSound 录制麦克风音频
使用 DirectSound 录制麦克风音频 本文所有代码均可在以下仓库找到 https://gitcode.net/PeaZomboss/learnaudios 目录是demo/dscapture ...
- 【译】.NET 7 中的性能改进(五)
原文 | Stephen Toub 翻译 | 郑子铭 循环提升和克隆 (Loop Hoisting and Cloning) 我们之前看到PGO是如何与循环提升和克隆互动的,这些优化也有其他改进. 从 ...
- Hexo系列(二):Hexo安装
作者:独笔孤行 官网: http://anyamaze.com 公众号:云实战 1.安装nodejs和npm yum install epel-release -y yum install ...
- .Net依赖注入、控制反转
依赖项是指另一个对象所依赖的对象. 使用其他类所依赖的 WriteMessage 方法检查以下 MyDependency 类: public class MyDependency { public ...
- Atcoder题解:Arc156_c
数据范围 \(10^5\),但是介绍一个 \(O(n\log n)\) 做法. 我们考虑观察样例,发现样例都很小,而且 \(\text{LCS}\) 的长度都是 \(1\),那么我们就猜答案最多为 \ ...