常用库
我们需要知道常用的库有哪些,才能使用他们。
QtCore基本库
-
基本数据类型:QString(不直接使用c++ 中String)、QByteArray(字节数组)
-
基本数据结构:QList、QVector、QMap
-
输入输出类:QTextStream(文本流)、QFile(文件类)
-
多线程编程用到的类:QThread(多线程)、QWaitCondition(条件等待)
-
QtGui GUI库:包含图形窗口类
窗口部件类:QWidget、QLabel、QPushButton
- 布局类:QVBoxLayout、QHBoxLayout、QGridLayout
- 主窗口类:QMainWindow、QMenu
- 绘图类:QPainter、QPen、QBrush
- 基本对话框类:QFileDialog、QprintDialog
通过Qt助手使库,以QPainter(绘画事件)为例。
在搜索栏中搜索QPainter。(标红处为搜索栏)
我们注意到QPainter是一个类,意味着他是一个可创建对象
在Public Functions找到他的构造函数,构造函数有多个,我们选QPainter(QPaintDevice *device)
如果不知道参数QPaintDevice *device,我们可以复制粘贴到搜索框通过其描述获知其功能。
阅读其描述得知我们要在这个参数所指对象上绘画。了解完成后返回QPainter(返回的快捷键是键盘上的删除键,即“×”)。一般来讲以widget(父类)作为画布,即this指针作为参数。
为了方便说明我们创建一个实例对象 QPainter painter(this);除构造函数以外,painter可以调用Public Functions的所有函数。
以调用setPen(const QPen &pen)为例子,说明如何使用Public Functions中的函数以及如何处理在此过程中遇到不认识的关键字。
如果你不清楚setPen的功能,直接点进去了解setPen(const QPen &pen)的相关细节,字母为绿色的均可点击了解详情。
如果不知道QPen是什么,点进去查看描述。
如果不知道如何构建QPen实例,点击Detailed Description查看相应细节。
QPen的构建方法如图所示
如果想要了解上述构建方法Qt的自带常量。比如,pen.setBrush(Qt::green)中的颜色参数Qt::green,则可以Qt::green输入搜索栏,可查询到更多同类参数。其他参数同理。
这样我们就知道如何创建一个QPen类,创建一个QPen类,然后将其传入setPen,至此函数调用完成。
总结:
- 了解常用库
- 遇到不认识的类或函数,直接在搜索框查询
- 想要知道更多同类型Qt常量如:Qt::green。也可将此常量放入搜索框然后查询。
- 如果不会构建实例,可通过Detailed Description查看Qt自带例子。
对于静态成员函数的使用(Static Public Members)
QFileDialog::getExistingDirectory。以此方法直接调用
类的静态成员
类的静态成员存在于任何对象(即类的实例化对象,如Qpen pen();中的Pen)之外,对象不包含任何静态成员与静态成员数据有关的数据。此类全体共享该静态成员。我们使用作用域运算符直接访问静态成员。更多内容见C++primer第五版269页。
补充:
Reimplemented Public Functions 下的函数也可被实例对象调用。