Qt学习之路1--简单介绍Qt开发

大概有四个月没有更新技术博客了,虽然写的还是很菜,我觉得对我还是有用的,在需要时查起来很方便,刚好最近在公司里跟的项目需要用到Qt,趁着机会复习一下之前学的内容,这样也能更快速的阅读项目中的代码,这期间有一个挺长的过程,所以勉励自己从一开始就保存下自己的心得体会,为日后翻阅提供第一手资料。
什么是Qt?干什么用?
Qt是一套跨平台的GUI开发库
Qt是一套基于C++的集成开发环境
Qt是一套开源的殿堂级架构技术教程
Qt中带有的库可以说是C++语言最好用的类库,资料更完善、使用更简便、功能 更强大
QT Creater是一套可视化的集成开发环境,有强大的代码编辑功能和编译功能。而我们平时就在QT Creater中进行代码编辑、编译及调试。
编辑
编辑功能就不用多说了,相信会写几行代码的人都知道编辑环境的作用了。
编译
Qt中默认是使用qmake进行编译的,而在Qt Creater中我们感受不到怎么来使用qmake进行工程编译,因为只需要手动点击构建和运行就能运行编写的代码。
下面介绍如何使用命令行对工程进行编译:
1、打开qt命令行
2、先进入程序目录
3、执行qmake -project命令生成工程文件
4、执行qmake命令生成Makefile文件
5、执行make编译Makefile文件
6、执行cd debug命令
7、执行.exe文件运行程序

下面对一个简单的Qt程序用命令行进行编译。
首先需要准备好一个简单的Demo,其代码如下:

#include <QApplication>
#include <QMainWindow>
#include <QPushButton>

int main(int argc, char* argv[])
{
    QApplication a(argc, argv);
    QMainWindow w;
    QPushButton b(&w);

    b.setText("Hello QT!");
    w.show();

    return a.exec();
}

代码内容就是先创建一个QApplication对象(QApplication是用来封装消息处理循环的)建立一个主窗口w和一个按钮b,将按钮放到主窗口中,然后调用函数setText()为按钮加个字符串显示,再就是调用w.show()显示主窗口,此时主窗口和按钮都会显示出来,最后一句return语句是什么意思呢?这是用来让主窗口等待用户对界面进行操作的。
这里写图片描述
这里写图片描述
首先,打开Qt自带的命令行工具,进入程序目录HelloQT,通过dir查看目录中只有一个main.c文件,接下来执行目录对文件进行编译。
1、在进入程序目录后执行qmake -project命令用来生成工程文件(.pro),通过dir查看HelloQT.pro文件已经存在了。
2、执行qmake命令生成Makefile文件及其他相关文件,可通过dir命令查看。
3、执行make命令指导Makefile文件如何执行编译指令并生成可执行文件。
4、然后执行cd debug进入带有可执行程序目录。
5、最后执行HelloQT.exe运行编译生成的可执行程序。
6、其运行结果如图所示。
怎么样,是不是很简单,虽然在平时开发中很少用命令行进行编译,但学习这个也算是了解了它内部执行过程,对理解本质多少还是有点用。

调试
只要写项目代码就必然会出错,出错就需要调试,那么介绍两种种常用的调试方法。
Log调试法:在代码中加入打印语句来打印程序状态和关键变量的值。
断点调试法:在对应代码处加入断点,当程序运行到断点处就会停下来,此时就可以查看函数调用栈相关信息,在需要时可以加上条件断点,当条件满足时才暂停程序的运行。条件断点在QT Creater中的使用:当进入调试模式后,右键点击所选断点,选择编辑断点,加入所需要的条件。

工程文件描述
.pro文件用于配置和组织整个项目的相关信息
.pro文件是Qt中与平台无关的Makefile文件
CONFIG用于设定项目的配置信息和编译选项
一般来说,项目文件中的描述都使用相对路径
QT Creater将项目文件作为目标文件
QTCreater在打开项目文件的同时会生成.pro.user文件,该文件包含一些与QT相关的本地配置信息,当需要在不同计算机之间移动项目源码时,建议删除.pro.user文件,当编译工程时qt会自动生成一个.pro.user文件。
Qt Creater以工程项目的方式对源码进行管理
一个QtCreater工程包含不同类型的文件(库文件、资源文件、ui描述文件和源件)
QtCreater提供了开发所必备的快捷高效的功能(调试功能)

几个概念
构建(build):对项目中的所有文件进行编译,最终生成可执行程序。
Debug版:可以进行程序调试的构建版本,由于可执行程序中包含调试信息,导致运行效率不高。
Release版:最终发布的应用程序构建版本,内部无调试信息,运行效率高。在开发中需要阶段性的release版本的构建,检查是否存在bug

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章