资源描述:
《-【优秀文档资料】QT基础学习知识整理(提交版)(打印版)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、QT基础学习知识整理1.重要内容:1)信号和槽机制2)事件处理机制3)布局管理器4)绘图5)网络6)多线程7)其他(定时器,屮文显示)2.1一个简单的例子不可免俗的,从最简单的基本窗口产生开始介绍,窗口标题就叫作FirstQt!!好了,请新增一个日录hello,并在当中使用任一编辑器來编辑一个hello.cpp的档案,内容如下:hello・cpp#inelude★includeintmain(intargc,char^argv[]){QApplicationap
2、p(argc,argv);QLabel*label二newQLabel(〃Hello!World!Orz...z,);labcl->setWindowTitle(z,FirstQt!〃);label->resize(200,50);label->show();returnapp.exec();}要使用Qt的组件,必须含入(include)相对应的头文件,程序的第一行包含的QApplication与Qlabel头文件,稍后才可以使用QApplication与QLabel两个组件的定义类别。每个Qt窗口程序,
3、都必须有且只能有一个QApplication对象,它管理了整个应用程序所需的资源,QLabel是Qt的图型组件之一,继承自QWidget,Widget这个名称来自WindowGadget,表示可视的使用者接口纽件,町接受使用者的动作操作,文字画面、按钮、滚动条、工具列共至容器(Container)等都是一种Widget。C++程序从mainff始,再來进行Qt组件的初始化动作,在第一行中:QApplicationapp(argc,argv);QApplication负责程序的初始、结束及处理爭件(even
4、t)的循环等,并提供基本的窗口外观,这个外观与系统的桌面环境有关,例如标题列的样式、窗II外观、系统功能键等,在不同的操作系统桌而坏境下,会有各口不同的外观,QApplication対象接受命令列白变量作为它的白变量,像是如果您没有设定窗口标题,口会使用执行文件的名称作为窗口标题名称,可以使用的自变量与其作用,可以查询Qt在线文件关于QApplication类别的说明。接着建立QLabel组件,它用以显示所指定的文字(在这边指定了"Hello!World!Orz...〃),setWindowTitleO用
5、以设定窗口标题,如果不设定标题,则会自动以程序的文件名称作为标题,resize()方法用以设定组件的长、宽,单位是像素(Pixel),Qt的组件预设是不可视的,所以要使用show()方法将之显示出来。在最后一行,执行QApplication的exec()方法,这将程序的控制权交给了QApplication,exec()方法会提供-个事件处理循环,窗口显示之后会不断倾听(listen)事件,像是键盘、鼠标等动作所引发的事件,写好程序存盘Z后,就可以开始进行make的动作,必须先产生Makefile,Qt提供
6、了qmake程序來协助建立Makefile,它可以自动根据目前目录下档案产生*.pro的专案档(projectfile):qmake-project然后根据项H档产牛Makefile:qmake接下來就可以进行make:makemake完成之后,可以在debugg录下找到产生的hello,exe档案,直接执行:hello如果您要可以在Windows下直接doubleclick就执行程序,记得系统环境变量中要设处PATH包括Qt安装目录下的bin目录,执行时的参考画而如下所示:曜!FirstQt!Hello
7、!World!Oxz...如果要建构release版本,则使用make时指定-f与Makefile名称,例如:make-fMakefile.Release则您可以在release数据夹卜•看到建构好的档案。QLabel支持HTML卷标,如果您把程序改为以下的内容:#include#ineludeintmain(intargc,char*argv[]){QApplicationapp(argc,argv);QLabel*label二newQLabel(,z8、fontcolor=blue>Hello!World!Orz...z,);label-〉setWindowTitle("FirstQt!〃);label->resize(200,50);label~>show();returnapp.exec();重新建置之后,执行结果将显示如下:Hello!World!Orz…2.2信号和槽机制信号和槽用于对彖间的通讯。信号