QT学习3:数据操作类及控件

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

1 数据类

1.1 基本数据类型

类型大小大小
bool8位(bit)true / false
qint88位signed char
qint1616位signed short
qint3232位signed int
qint6464位long long int
quint88位unsigned char
quint1616位unsigned short
quint3232位unsigned int
quint6464位unsigned long long int
float32位使用IEEE754标准格式的浮点数
double64位使用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字符串相对应的字符串提供的类
QStringRefsize(),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单击按钮,可在弹出的选项中选择一个
QCommandLinkButtonWindows 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)控件
QTabBarTabBar控件(在标签对话框中使用)
QTabWidgetTab控件
QToolBox成列的Tab控件
QToolButton用于QtoolBox控件中,基于选项或命令可以快速访问的按钮控件
QWidget所有项目的基类

2.2 组合控件

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

控件功能
QButtonGroup按钮控件的组合容器(Container)
QGroupBox带有标题的相同类型的组框(GroupBox Frame)
QSpliter具有分割(Spliter)功能的控件
oSpliterHandle可以控制分割功能的控件
OStackedWidget可以使屏幕上同时显示多个控件
QTabWidgetTab控件

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实现树形视图的模型/视图
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值