在QT的代码中经常会看到Q开头的类型或控件,以下是对这些的一个梳理:


文章目录

  • 1 数据类
  • 1.1 基本数据类型
  • 1.2 数据类
  • 1.3 容器类
  • 1.4 字符串类
  • 1.5 一些常用函数
  • 2 控件 (Widget)
  • 2.1 基础控件
  • 2.2 组合控件
  • 2.3 抽象控件类
  • 2.4 布局管理器
  • 2.5 高级控件
  • 2.6 对话框
  • 2.7 模型/视图


1 数据类

1.1 基本数据类型

类型

大小

大小

bool

8位(bit)

true / false

qint8

8位

signed char

qint16

16位

signed short

qint32

32位

signed int

qint64

64位

long long int

quint8

8位

unsigned char

quint16

16位

unsigned short

quint32

32位

unsigned int

quint64

64位

unsigned long long int

float

32位

使用IEEE754标准格式的浮点数

double

64位

使用IEEE754标准格式的浮点数

const char*

32位

指向字符串常量的指针,最后不能为0

1.2 数据类


说明

OBitArray

提供了位运算(AND、OR、XOR、NOT)的位数组(bit Array)

QBrush

定义了QPainter绘制图形的填充模式

QByteArray

支持字节(Byte)数组的类,如果数组是Null,则O×FFFFFFFF(quint32)

QColor

基于RGB、HSV和CMYK值,支持颜色(Color)的类

QCursor

定义鼠标光标图像的类

QDate

提供日期功能(Function)的类

QDateTime

提供日期和时间功能的类

QEasingCurve

控制GUl动画运行模式的数据类

QFont

为绘制文本而设置字体

QIcon

提供不同模式和状态图标的类

QKeySequence

指定快捷键(Shortcut)的类

QMargins

定义矩形外边距量,left(int)、top(int)、right(int)、bottom(int)

QMatrix

为改变2D而定义的类

QMatrix4×4

为改变3D4×4而定义的类

QPalette

包含各控件状态的颜色组的类QPen为绘制线条的风格、厚度、颜色提供的类

QPicture

为处理图片(Picture)的格式提供的类

QPixmap

为处理PNG等格式的图片提供的类

QPoint

为处理X、Y、Z值提供的类

QQuaternion

处理向量和标量构成的四元数(Quaternion)的类。四元数在3D空间中表示旋转,用于构成表示X、Y、Z坐标和旋转角度的标量指定的3D旋转面

QRect

矩形的left(qint32)、top(qint32)、right(qint32)、botom(qint32)

QRegExp

处理正则表达式的类

QRegularExpression

处理正则表达式的类

QRegion

用于在Painter上定义剪贴板区域的类

QSize

必须使用宽度和高度的目标类。宽度(qint32),高度(qimt32)QString为处理字符串提供的类,字符串为Nul时,则O×FFFFFFFF(quint32)

QTime

为使用时.分、秒、毫秒提供的类

QTransform

用于图像描绘大小、剪切(shaear)、旋转、坐标等的类QUrl URL地址(QString)oVariant可保存多种数据类型的共用体(union)的类

QVector2D

在二维空间表示向量(Vector)和顶点(vertex)的类QVector3D使用X.Y、乙三个坐标绘制或显示3D图像时使用的类。

QVector4D

在四维空间表示向量和顶点的类

1.3 容器类


说明

QHash<Key,T>

提供散列表的字典(Dictionary)的模板类

QMap<Key,T>

提供二叉搜索树(Binary Search tree)字典的模板类

QPair<T1,T2>

处理成对存在的项目数据的模板类

QList< T >

为操作列表形态值提供的模板类

QLinkedList < T >

提供链表的模板类

QVector < T >

为操作动态QVector数组提供的类

QStack< T >

为使用包含push()、pop()、top()的栈(Stack)提供的类

QQueue< T >

为使用enqueue()、dequeue()和head()操作FIFO结构的数据提供的类

OSet< T >

为利用基于散列快速查找提供的类

QMap<Key,T>

Key值映射的数据集合为一组,提供字典;QMap类可以按健排序存储数据

QMultiMap<Key,T>

继承自QMap的类,可以映射多种值

QMultiHash<Key,T>

继承自QHash的类,可以利用散列映射多种值

1.4 字符串类


说明

QByteArray

支持字节数组的类,类似于网络文件传送,实现数据流时使用

QByteArrayMatcher

利用QByteArray实现的字节数组索引查找对应字符串

QChar

支持16位Unicode字符(Character)的类

QLatinlChar QLatinlString

支持US-ASCII/Latin-1编码字符串的类

QLocale

将数字或字符显示方式转换为相应的多语言表达方式

QString

支持Unicode字符串的类

QStringList

字符串列表的集合类

OStringMatcher

为查找与Unicode String字符串相对应的字符串提供的类

QStringRef

size(),position()、tostring()等子串包装(Wrapper)类

QTextBoundaryFinder

为查找与String字符串相同的所有字符串提供的类,提供搜索的字符串的NEXT/PREV功能

QTextStream

为写或读取文本提供的类,在文件中读写数据时使用

1.5 一些常用函数

函数

功能

T qAbs(const T&value)

返回绝对值的函数。

const T&qBound(const T&min,const T&value,const T&max)

返回最大值和最小值之间值的函数。

void qCritical(const Char*msg,.…)

处理Critical消息的函数。

void qDebug(const Char*msg,.…)

输出调试信息的函数。

void qFatal(const Char*msg,.…)

处理错误信息的函数。

bool qFuzzyCompare(double p1,double p2)[static]

比较浮点值的函数。

bool qFuzzyCompare(float p1,float p2)[static]

比较浮动型值的函数,值相同则为true,否则返回false。

QtMsgHandler qlnstallMsgHandler(QtMsgHandler handler)

用户自定义函数,输出Qt定义的调试、预警、严重(Debug/Warning/Fatal)等信息。

const T&qMax(const T&value1,const T&value2)

返回两个值中的最大值。

const T&qMin(const T&value1,const T&value2)

返回两个值中的最小值。

qint64 qRound64(qreal value)

64位整形四舍五入函数

int qRound(qreal value)

整形四舍五入函数。

2 控件 (Widget)

2.1 基础控件

以下是按钮(Buton),下拉列表框(Combo Box),滚动(Scrol)等可直接使用的控件:

控件

功能

QCheckBox

复选框(CheckBox)控件(包含Text Label)

QComboBox

单击按钮,可在弹出的选项中选择一个

QCommandLinkButton

Windows Vista风格的命令链接按钮

QDateEdit

编辑或显示日期的控件

OTimeEdit

编辑或显示时间的控件

QDateTimeEdit

编辑或显示时间和日期的控件

QSpinBox

整数旋转框(SpinBox)控件

ODoubleSpinBox

可以使用Double数据型的旋转框

QPushButon

普通按钮控件

QFocusFrame

提供了当前绘画区域的焦点

OFoutComboBox

可使用选择字体的下拉列表框控件

QLCDNumber

显示LCD风格数字的控件

QLabel

显示文本或图片的控件

QLineEdit

单行(single line)文本框控件

QMenu

可以在菜单栏(MenuBar)的菜单控件.Contcxt和弹出菜单中使用的控件

QProgressBar

水平与垂直进度条

QRadioButton

单选按钮控件(包含Text Label)

QScrollArea

可以扩展查看其他控件的滚动(Scrol)控件

QTabBar

TabBar控件(在标签对话框中使用)

QTabWidget

Tab控件

QToolBox

成列的Tab控件

QToolButton

用于QtoolBox控件中,基于选项或命令可以快速访问的按钮控件

QWidget

所有项目的基类

2.2 组合控件

分割(Splitter)、选项卡(Tab Bar)、按钮组(Button Group)等

控件

功能

QButtonGroup

按钮控件的组合容器(Container)

QGroupBox

带有标题的相同类型的组框(GroupBox Frame)

QSpliter

具有分割(Spliter)功能的控件

oSpliterHandle

可以控制分割功能的控件

OStackedWidget

可以使屏幕上同时显示多个控件

QTabWidget

Tab控件

2.3 抽象控件类

这部分是控件的基类,例如,QPushButton是QAbstractButton的子类

控件

功能

QAbstractButton

提供普通按钮功能的抽象类

QAbstractSerollArea

在滚动条中提供必要功能的抽象类

QAbstractSlider

使用给定范围内的整数值的抽象类

QAbstractSpinBox

在旋转框和行编辑中显示值的抽象类

ODialog

对话窗口的基类

QFrame

存放框架控件的基类

2.4 布局管理器

布局管理器

说明

QHBoxLayout

水平布局控件

QVBoxLayout

垂直布局控件

QGridLayout

将控件布置为网格状

QBoxLayout

可以水平或垂直布局控件的类,使用选项决定布局方向

2.5 高级控件

控件

说明

QColumnView

基于模型(Model)/视图(View)的列视图控件

QDataWidgetMapper

连接控件和模型数据的映射(Mapping)类控件

QListView

列表形态的视图控件

QTableView

基于模型/视图的表格视图控件

QTreeView

基于模型/视图的树形视图控件

QDesktopWidget

用一个显卡访问多个虚拟的桌面画面的控件

QUndoView

将撤销栈(Undo stack)的内容显示并输出到列表空间的控件

QCalendarWidget

以日历形式显示用户选择的日期(以月为单位)的控件

QMacCocoaViewContainer

打包(Wrapping)Cocoa视图类的Moc OSX的控件

QMacNativeWidget

提供根据Qt构成方式,将Q控件添加到Cocoa各级结构方法的控件

2.6 对话框

对话框类型

说明

QInputDialog

用户可以输入值的对话框

OColorDialog

可以选择指定颜色的对话框

QFileDialog

提供选择文件或目录的GUI的对话框

OFontDialog

可以选择字体的对话框

QMesageBox

模式对话框,通过主窗口传送用户所选项目(例如:确认/取消)的返回值

OProgressDialog

显示百分比进度的对话框

2.7 模型/视图

本节将介绍模型/视图框架结构,并介绍如何在QTreeView、QListView、QTableView上显示并处理数据列表项。

控件

说明

QListView

列表显示数据的控件

QTableView

实现表格视图的模型/视图

QTreeView

实现树形视图的模型/视图