- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
22HelloQt
CLOSE XLoading Image...2.2 Hello Qt本节就从最简单的 Qt 程序开始, 自己动手用 g++ 编译 Qt 代码,并链接生成可执行程序。 接着示范一个稍微复杂点的 Qt 程序编译过程,包含对 moc 工具的使用, 顺便提一下 Qt 元对象系统。 2.2.1 Hello QtQt 本身就是用 C++ 语言编写的,所以 Qt 程序的代码看起来和普通的 C++ 代码差不了多少, 这样就很容易上手,也适合自学。C++ 的套路就编写一个类,使用的时候就定义该类的对象, 然后调用对象的函数来完成任务。使用 Qt 控件就像上一节计算矩形的对角线、面积一样简单。 最简化的 Qt 程序如下面 helloqt.cpp 代码所示(代码文件夹为 D:\QtProjects\ch02\helloqt\ ): //helloqt.cpp#includeQtWidgets/QApplication#includeQtWidgets/QLabelintmain(intargc,char*argv[]){QApplicationa(argc,argv);QLabellabel(QLabel::tr(HelloQt!));label.show();returna.exec();}Qt 显示一个 QLabel 标签控件窗口就是这么简单!其实任何一个图形控件都可以作为主界面显示,上面使用的是 QLabel 。 使用 Qt 库,当然先要包含头文件,代码里包含了 QApplication 和 QLabel 两个类的头文件,这两个头文件位于 QtWidgets 文件夹里。 在上面 main 函数里,第1句 QApplicationa(argc,argv);是定义一个 Qt 应用程序对象,它的构造函数接收和 main 函数一样的参数,这是 Qt 图形界面程序的入口, 就像 main 函数是 C++ 程序的入口一样。 第2句 QLabellabel(QLabel::tr(HelloQt!));定义了一个 QLabel 标签控件对象,其构造函数里以一个字符串为输入参数,代码里使用了 tr 函数封装了字符串。所有的 Qt 类里面都有 tr 函数(因为 tr 函数在所有 Qt 类的顶级基类 QObject 里定义了),但它不是全局定义的,所以上面使用了 QLabel 类的 tr 函数 。tr 函数是代表可翻译字符串的意思,因为 Qt 不仅跨平台,也是跨国跨语种的,所以很注重多国语言的支持, 只要不是特殊情况,一般都用 tr 函数封装字符串,以后如果做多国语言翻译就会很方便。 QLabel 就是简单地显示一小段文本,提示用户文本信息, 是最常用的控件之一。 第3句 label.show();是调用标签控件对象的 show 函数,显示控件窗口。 第4句 returna.exec();exec() 函数会进入 Qt 应用程序的事件循环函数等待用户操作,如果用户点击窗口的关闭按钮, 程序就会自动结束并返回一个值,默认是 0 。图形程序与命令行程序一个最大的不同就是图形程序通常不会自动关闭,而是一直等待用户操作, 所以图形程序与用户的交互性都很强。 一般的命令行程序跑完自己就结束了,而图形程序会等待用户点击关闭按钮(或退出菜单项)才会结束。 QApplication 的 exec() 函数就是用来循环等待事件的,直到出现关闭或退出信号为止。 代码是非常简单的,那如何生成可执行程序呢?接下来我们用最原始的 g++ 命令编译生成可执行程序, 讲解其生成的过程。这里了解一下 Qt 程序的生成过程,以后如果遇到程序编译链接过程中的问题, 就可以对照着看看哪个步骤出了问题,进而寻找解决之法。本节最后再给出使用 qmake 生成 Qt 程序的简洁方法, 这和自己用 g++ 编译是一样的。下面示范 Windows 系统里使用 MinGW 编译 helloqt.cpp 文件,首先打开开始菜单中的 Qt 命令行,进入代码所在文件夹:cd /d D:\QtProjects\ch02\helloqt然后执行如下一句命令编译并链接生成 helloqt 程序:g++? helloqt.cpp? -IC:\Qt\Qt5.4.0\5.4\mingw491_32\include? -LC:\Qt\Qt5.4.0\5.4\mingw491_32\lib -lQt5Core -lQt5Gui -lQt5Widgets? -o helloqtg++ 命令中,helloqt.cpp 是源码文件;-IC:\Qt\Qt5.4.0\5.4\mingw491_32\include 是指加入包含文件的路径,该 include 文件夹就是 Qt 库的头文件位置(如果 Qt 安装位置不是 C 盘,需要根据实际路径调
文档评论(0)