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 ...
随机推荐
- vue学习笔记(七)---- vue中的路由
一.什么是路由 对于普通的网站来说,所有的超链接都是URL地址,所有的URL地址都对应服务器上对应的资源 对应单页面的应用程序来说,主要通过URL中的hash(#号)来实现不同页面之间的切换,同时,h ...
- ThreadLocal 超强图解,这次终于懂了~
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 前言 大家好,我是小彭. 在前面的文章里,我们聊到了散列表的开放寻址法和分离链表法,也聊到了 HashMap ...
- Python源文件的编码
Python源文件的编码 入门教程->2.2.1 源文件的字符编码 参考官网:https://docs.python.org/zh-cn/3.9/tutorial/interpreter.htm ...
- Netty Protobuf处理粘包分析
背景 最近消息中间件项目进行联调,我负责Server端,使用Java的Netty框架.同事负责Client端,使用Go的net包,消息使用Protobuf序列化.联调时Client发送的消息Serve ...
- 《Terraform 101 从入门到实践》 Terraform在公有云Azure上的应用
<Terraform 101 从入门到实践>这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看. 简介 Azure是微软的公有 ...
- 从 PyTorch DDP 到 Accelerate 到 Trainer,轻松掌握分布式训练
概述 本教程假定你已经对于 PyToch 训练一个简单模型有一定的基础理解.本教程将展示使用 3 种封装层级不同的方法调用 DDP (DistributedDataParallel) 进程,在多个 G ...
- Elemen ui&表单 、CRUD、安装
ElementUI表单 Form表单,每一个表单域是由一个form-item组件构成的,表单域中可以放置各种类型的表单控键,有input.switch.checkbox 表单的绑定form 内容分别是 ...
- BUUCTF-[SUCTF2019]EasySQL
[SUCTF2019]EasySQL 这个连闭合都测试不出来,就有点无从下手了. 额,随手输了一个1;show tables;出来了表名.一通操作之后,点开了别人的wp,学习了一波. 然后知道了题目中 ...
- 题解 [SCOI2007]压缩
好题. 显然区间 dp,令 \(f_{l, r}\) 为 \([l, r]\) 之间的最短的长度.如果我们要压缩,那么就要考虑 M 与 R 的位置.由于我们大体是从左往右来转移的,所以显然我们只需要记 ...
- 代码随想录算法训练营day22 | leetcode 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点
LeetCode 235. 二叉搜索树的最近公共祖先 分析1.0 二叉搜索树根节点元素值大小介于子树之间,所以只要找到第一个介于他俩之间的节点就行 class Solution { public T ...