http://blog.csdn.net/HMSIWTV/article/category/1128561/2git
这里介绍的基本类包括 QChar, QString, QPoint, QSize, QRect, QFont, QPixmap, Qlcon。编程
这里介绍的窗口类包括 QWidget,QDialog,QLabel,QAbstratacButton,QPushButton, QCheckBox,QRadioButton,QLineEdit。数组
版权声明:本文为博主原创文章,未经博主容许不得转载。安全
QCharapp
QChar 类是 Qt 中用于表示一个字符的类,实如今 QtCore 共享库中。QChar 类内部用2个字节的Unicode编码来表示一个字符。less
构造ide
QChar 类提供了多个不一样原型的构造函数以方便使用,如:函数
实际使用时不多直接构造 QChar 类的对象,而是把这些构造函数当作类型转换来用,让编译器自动构造所需的QChar类对象。也就是说,在全部须要QChar类做为参数的地方均可以安全地使用各类整数类型。布局
判断post
QChar 类提供了不少成员函数,能够对字符的类型进行判断,如:
转换
QChar 类提供了一些成员函数进行数据的转换,如:
比较
Qt 中定义了一些与 QChar 类相关的比较操做符, 如:
版权声明:本文为博主原创文章,未经博主容许不得转载。
QString 类是 Qt 中用于表示字符串的类,实如今 QtCore 共享库中。QString 类在实现上有如下特征。
1)字符串采用 Unicode 内部编码,能够表示世界上大多数语言的文字。
2)字符串的存储有引用计数,当一个 QString 对象被复制为另外一个 QString 对象时,它们实际上指向相同的存储空间,仅仅是增长一个引用计数。
3)采用 “按需复制” 的技术,当指向相同存储空间的多个 QString 对象中的一个要被修改时,将真正复制一个新的字符串并进行修改。
构造
QString 类提供了不少不一样原型的构造函数以方便使用。如:
判断
能够用下面的成员函数判断 QString 对象是否为空字符串:
转换
QString 类提供了不少函数用于将字符串转换为数值,如:
注意: 当字符串以 0x开头时,转换的基自动转换为16, 当字符串以0开头时,转换的基自动为8。
下面这些成员函数能够将一个数值转换为字符串并设为 QString 对象的值:
将浮点数转换为字符串时,format 参数指定转化格式,precision 参数指定转换结果的精度,既有效数组的个数。注意这些函数会改变 QString 对象自己的值,而如下的函数则采用了不一样的作法,它们返回一个新的临时对象以供使用:
QString 类也提供了大小写转换的函数,如:
比较
QString 类提供了一个函数用于两个 QString 对象的比较:
这是一个静态成员函数,它能够比较 s1 和 s2 的大小,参数 cs 有如下两个取值。
为了方便使用,QString 类还提供了如下重载函数用于比较:
实际上更为直观的是使用 QString 类的比较操做符,如:
查找
用如下的成员函数能够判断 QString 对象是否包含指定的字符串或字符:
QString 类中还有与此功能类似的函数用于从后往前查找字符串或字符:
字符串处理
QString 类支持用赋值操做符进行对象的复制,其赋值操做符的声明以下:
如下的成员函数能够将另外一个字符串或字符接在 QString 对象后面,造成一个总体的字符串:
它们的返回值是 QString 对象本身的引用,也就是说,能够用在这个返回值再次调用成员函数,造成连续的字符串接续操做。
为了让代码更直观, QString 类中还定义了一个操做符用于字符串的接续:
与 append 函数功能相似,如下的成员函数也可以将另外一个字符串或字符与 QString 对象链接起来,可是接在原字符串的前面:
功能更通常化的是在 QString 对象的任意位置插入另外一个字符串或字符,如:
与插入相反的操做是移除 QString 对象中的一部分,如:
这个函数能够移除 QString 对象中从位置 position 开始的 n 个字符,下面两个成员函数则能够从 QString 对象中移除指定的字符串或字符:
这三个函数的功能是将 QString 对象从 position 开始的 n 个字符替换为新内容,新内容分别由 QString 对象、QChar 数组 和 QChar 对象表示。
如下成员函数则能够搜索指定的字符串或字符并开始替换:
注意上述三个函数并不修改 QString 对象自身,而是返回一个临时对象以供使用。
下面这个成员函数能够截去 QString 对象中头部和尾部的空白字符:
空白字符包括空格、回车、换行、制表符等字符。下面这个成员函数不只能去掉 QString 对象头尾的空白字符,还能将中间的连续多个空白字符所有替换成一个空格:
注意加法操做符的两个操做数中必须至少有一个是 QString 对象,不然没法重载操做符。显然,加法操做副都不是 QString 类的成员。
索引
QString 类也像普通的字符串同样能够根据下标获得某个位置上的字符:
统计
如下两个成员函数均可以获得 QString 对象中字符的个数:
版权声明:本文为博主原创文章,未经博主容许不得转载。
QPoint 类表明一个坐标点,实如今 QtCore 共享库中。它能够认为是一个整型的横坐标和一个整型的纵坐标的组合。
构造
QPoint 类支持如下两种构造方式:
经过如下成员函数可获得 QPoint 对象中的横纵坐标的引用:
经过如下的成员函数能够设置 QPoint 对象中的横纵坐标:
QPoint 类支持加法和减法的复合赋值操做:
版权声明:本文为博主原创文章,未经博主容许不得转载。
QSize 类表明一个矩形区域的大小,实如今 QtCore 共享库中。它能够认为是由一个整型的宽度和整型的高度组合而成的。
构造
属性
如下成员函数能够获得 QSize 对象中宽度和高度的引用:
QSize 类支持和 QPoint 类类似的操做符。
版权声明:本文为博主原创文章,未经博主容许不得转载。
QFont 类表明字体,实如今 QtGui 共享库中。
构造
QFont 类有如下几个经常使用的构造函数:
1) family: 字体的名称。
2) pointSize: 字体的点大小,若是这个参数小于等于0,则自动设为 12。
3) weight: 字体的粗细。
4) italic: 字体是否为斜体。
这些参数也能够在字体对象构造之后经过属性来修改。
属性
QFont 类的经常使用属性以下所示:
字体的属性 获取所用成员函数 设置全部成员函数
名称 QString family() const; void setFamily(const QString &family);
点大小 int pointSize() const; void setPointSize(int pointSize);
像素大小 int pixelSize() const; void setPixelSize(int pixelSize);
粗细 int weight() const; void setWeight(int weight);
粗体 bool bold() const; void setBold(bool enable);
斜体 bool italic() const; void setItalic(bool enable);
下划线 bool underline() const; void setUnderline(bool enable);
其中设置粗体属性实际上就是将字体的粗细设为一个肯定的值。点大小与像素大小是指定字体大小的两种方式。若是指定了点大小,则像素大小属性的值就是 -1;反之若是指定了像素大小,则点大小属性的值就是 -1。
若是指定的字体在使用时没有对应的字体文件,Qt 将自动选择最接近的字体。若是要显示的字符在字体中不存在,则字符会被显示为一个空心方框。
版权声明:本文为博主原创文章,未经博主容许不得转载。
QPixmap 类表明图像,实如今 QtGui 共享库中。
构造
如下构造函数生成的 QPixmap 对象为空图像:
1) filename: 文件名。
2) format: 字符串,表示图像文件的格式,若是为 0,将进行自动识别。
3) flags:表示颜色的转换模式。
若是图像文件加载失败则产生空图像,这里 flags 参数有如下取值。
1) Qt::AutoColor:由系统自动决定。
2) Qt::ColorOnly:彩色模式。
3) Qt::MonoOnly:单色模式。
图像参数
如下成员函数能够得到 QPixmap 对象所表示的图像的相关信息:
加载和保存图像
用下面的成员函数能够从文件加载图像:
这里各个参数的含义与构造函数中同样,返回值为 true 表示加载成功,false 表示加载失败。相反的操做是将 Qpixmap 表明的图像保存到文件,可用如下成员函数:
1) filename:文件名。
2) format:字符串,表示图像文件的格式,若是为 0,将根据文件名的后缀自动肯定文件格式。
3) quality:对于有损压缩的文件格式来讲,它表示图像保存的质量,质量越低压缩率越大。取值范围为 0~100,-1 表示采用默认值。
4) 返回值:true 表示保存成功,false 表示保存失败。
判断
如下成员函数能够判断 QPixmap 对象是否为空图像:
版权声明:本文为博主原创文章,未经博主容许不得转载。
QIcon 类表明图标,实如今 QtGui 共享库中。QIcon 对象能够认为是一系列图像的组合,每一个图像表明窗口在某种状态下应该1显示的图标。
构造
QIcon 类支持如下构造函数:
添加图像
下面的成员函数能够从图像文件中向 QIcon 对象添加图像:
1)filename:文件名。
2)size:指定大小。
3)mode:指定使用模式,即窗口在何种状态下使用这个图像。
4)state:指定使用状态。
Mode 为 QIcon 类的成员类型,有如下取值。
1)QIcon::Normal:窗口为使能状态,但未激活。
2)QIcon::Disabled:窗口为禁用状态。
3)QIcon::Active:窗口为激活状态。
4)QIcon::Selected:窗口被选中。
当窗口的状态切换时,默认的图标绘制函数会自动根据窗口的状态重绘图标。若是窗口还有所谓的开关状态(好比一个按钮能够有按下和弹起两个状态),则还能够根据 state 参数来选择不一样的图像。state 参数为 State 类型,这也是一个 QIcon 类的成员类型,它有如下取值。
QIcon::Off:窗口在关状态。
QIcon::On:窗口在开状态。
另一个成员函数能够直接将 QPixmap 对象添加到 QIcon 对象中:
获取图像
下面的成员函数能够获取 QIcon 对象中的图像:
注意返回的图像大小可能比指定的小,但不会比指定的大。
判断
如下成员函数能够判断 QIcon 对象是否为空图像构成的图标:
版权声明:本文为博主原创文章,未经博主容许不得转载。
QWidget 类表明通常的窗口,其余窗口类都是从 QWidget 类继承出来的。而 QWidget 类则同时继承了 QObject 类 和 QPaintDevice 类,也就是说,窗口类都是 Qt 对象类。这里的 QPaintDevice 类则是全部可绘制的对象的基类。
经常使用窗口类的继承关系如图所示:
构造
QWidget 类的构造函数以下:
参数 f 是构造窗口的标志,主要用于控制窗口的类型和外观等,有如下经常使用值。
1)Qt::FramelessWindowHint:没有边框的窗口。
2)Qt::WindowStaysOnTopHint:老是最上面的窗口。
3)Qt::CustomizeWindowHint:自定义窗口标题栏,如下标志必须与这个标志一块儿使用才有效,不然窗口将有默认的标题栏。
4)Qt::WindowTitleHint:显示窗口标题栏。
5)Qt::WindowSystemMenuHint:显示系统菜单。
6)Qt::WindowMinimizeButtonHint:显示最小化按钮。
7)Qt::WindowMaximizeButtonHint:显示最大化按钮。
8)Qt::WindowMinMaxbuttonHint:显示最小化按钮和最大化按钮。
9)Qt::WindowCloseButtonHint:显示关闭按钮。
独立窗口
窗口构造的时候若是有 Qt::Window 标志,那么它就是一个独立窗口,不然就是一个依附于其余独立窗口的窗口部件。顶级窗口必定是独立窗口,但独立窗口不必定是顶级的,它能够有父窗口,当父窗口被析构时它也会随之被析构。独立窗口通常有本身的外边框和标题栏,能够有移动、改变大小等操做。
一个窗口是否为独立窗口可用下面的成员函数来判断:
而下面这个函数能够获得窗口的父窗口:
窗口标题
WindowTitle 属性表示窗口的标题,与之相关的成员函数以下:
这里的几何参数指的是窗口的大小和位置。一个窗口有两套几何参数,一套是窗口外边框所占的矩形区域,另外一套是窗口客户区所占的矩形区域。所谓窗口客户区就是窗口中去除边框和标题栏用来显示内容的区域。
这两套几何参数分别由两个 QRect 型的属性表明,相关的成员函数以下:
注意:不要在 moveEvent 或 resizeEvent 两个事件处理函数中设置几何参数,不然将致使无限循环。
窗口的几何参数也能够由用户的操做改变,这时也会发送相应的事件。
为了方便使用,与几何参数相关的成员函数还有如下这些:
还有一个属性比较特殊,相关的成员函数以下:
注意: 对于一个窗口部件来讲,它的两套几何参数是一致的。
可见性与隐藏
可见性指的是窗口是否显示在屏幕上的属性。被其余窗口暂时遮挡住的窗口也属于可见的。可见性由窗口的 visible 属性表示,与之相关的成员函数以下:
1)隐藏的窗口必定是不可见的。
2)非隐藏的窗口在它的父窗口可见的状况下也是可见的。
3)非隐藏的顶级窗口是可见的。
setVisible 和 setHidden 同时也是槽,它们通常并不直接使用,而是使用如下几个槽:
窗口状态
独立窗口有正常、全屏、最大化、最小化几种状态,与之相关的成员函数以下:
另外还有一个 windowState 属性和窗口状态有关,相关的成员函数以下:
1)Qt::WindowNoState:无标志,正常状态。
2)Qt::WindowMinimized:最小化状态。
3)Qt::WindowMaxmized:最大化状态。
4)Qt::WindowFullScreen:全屏状态。
5)Qt::WindowActive:激活状态。
这里取值能够用 “按位或” 的方式组合起来使用。
须要注意的是,调用 setWindowState 函数将使窗口变为隐藏状态。
使能
处于使能状态的窗口才能处理键盘和鼠标等输入事件,反之,处于禁用状态的窗口不能处理这些事件。窗口是否处于使能状态由属性 enabled 表示,相关成员函数以下:
其中两个设置属性的函数同时也是槽。窗口的使能状态也可能影响外观,好比处于禁用状态的按钮文本自己为灰色。
使能状态和窗口的可见性有类似的逻辑:禁用一个窗口同 时会使它的全部子窗口成为禁用状态。
激活状态
当有多个独立窗口同时存在时,只有一个窗口可以处于激活状态。系统产生的键盘、鼠标等输入事件将被发送给处于激活状态的窗口。通常来讲,这样的窗口会被提高到堆叠层次的最上面,除非其余窗口有总在最上面的属性。与激活状态相关的成员函数以下:
焦点
焦点用来控制同一个独立窗口内哪个部件能够接受键盘事件,同一时刻只能有一个部件得到焦点。与焦点有关的成员函数以下:
setFocus 函数同时又是一个槽。窗口部件获得焦点之后,别忘了还须要它所在的独立窗口处于激活状态才能获得键盘事件。
一个窗口得到焦点,同时意味着另外一个窗口失去焦点。当窗口得到或失去焦点时,将发送 QFocusEvent 事件,它有两个处理函数:forceInEvent 和 focusOutEvent,分别对应得到焦点和失去焦点。
值得一提的是 editFocus 属性,这是一个专门用于嵌入式系统的属性。由于嵌入式系统一般键盘较小,没有专门用于切换焦点的 Tab 键,因此上下方向键被用来切换焦点。若是一个窗口部件设置 editFocus 属性为 true,则上下方向键就再也不用于切换焦点,而是发送给这个窗口。与这个属性相关的成员函数以下:
捕获键盘和鼠标事件
窗口部件即便得到焦点,也不必定能得到按键事件,由于其余窗口可能会捕获键盘事件。捕获了键盘事件的窗口将获得全部键盘事件,而其余窗口将彻底获得不到键盘事件,直到捕获了键盘事件的窗口释放键盘事件。与键盘事件捕获相关的成员函数以下:
如下的成员函数可以获得应用程序中正在捕获键盘或鼠标事件的窗口:
这两个函数是静态函数。
布局
属性 layout 表明窗口的顶级布局,相关的成员函数以下:
字体
font 属性表示所用的字体,相关的成员函数以下:
若是没有为窗口设置字体,则窗口自动使用父窗口的字体,顶级窗口则使用应用程序的默认字体。
信号
当窗口要被析构时会发射如下信号:
槽
在前面的介绍中已经说起了 QWidget 类的许多槽,这里将介绍其余经常使用的槽。
下面的槽能够关闭窗口:
这个槽的返回值表示关闭事件是否被接受,也就是窗口是否真的被关闭了。
下面的槽能够提高或下降窗口所在的堆叠层次:
QWidget 类可以处理类型丰富的事件,这里将介绍一些经常使用的事件处理函数。
窗口事件:
这里经过 QKeyEvent 类的成员函数能够得到关于按键的一些信息,如:
1)Qt::NoButton:无键。
2)Qt::LeftButton:左键。
3)Qt::RightButton:右键。
4)Qt::MidButton:中键。
注意,对于鼠标移动事件 QMouseEvent 和 button 函数老是返回 Qt::NoButton,而 buttons 函数返回值则是 Qt::MouseButton 类型的 “按位或” 组合,它能反映事件发生时鼠标键的按下状态。
QWheelEvent 类表明滚轮事件,它有一套与 QMountEvent 类几乎相同的成员函数,但少一个 button 函数,多如下两个函数:
1)Qt::Horizontal:横向。
2)Qt::Vertical:纵向。
焦点事件:
版权声明:本文为博主原创文章,未经博主容许不得转载。
QDialog 类表明对话框。对话框通常用来实现那些只是暂时存在的用户界面。对话框是独立的窗口,但一般它也有父窗口,当对话框显示时,默认的位置在父窗口的中央。从外观上来看,对话框通常没有最大化、最小化按钮。
对话框有模态和非模态两种形式。非模态对话框的的行为和使用方法都相似于普通的窗口。模态对话框则有所不一样,当模态对话框显示时,其余窗口将所有进入非激活状态,不能接受键盘和鼠标事件。模态的方式又能够分为两种,一种是对整个应用程序模态,这时它的出现将致使程序中的全部窗口失去响应;另外一种是对窗口模态,这时仅仅会致使它所在的整个窗口树失去响应。
构造
QDialog 类的构造函数与 QWidget 类形式相同:
模态性
用下面的成员函数可将对话框设为模态:
1)Qt::NonModal:非模态。
2)Qt::WindowModal:窗口模态。
3)Qt::ApplicationModal:应用程序模态。
与模态性相关的成员函数还有如下两个:
执行与结果
下面这个函数将以模态方式显示对话框:
对话框的结果与下面的函数有关:
1)QDialog::Accepted:表示肯定。
2)QDialog::Rejected:表示取消。
对话框一般有一个肯定按钮和一个取消按钮,它们能使对话框关闭并返回相应的值。为了与按钮的 clicked() 信号链接,须要用到如下的槽:
打开
下面这个函数将以对窗口模态的方式显示对话框:
版权声明:本文为博主原创文章,未经博主容许不得转载。
QLabel 类表明标签,它是一个用于显示文本或图像的窗口部件。
构造
QLabel 类支持如下构造函数:
属性
QLabel 对象的显示内容能够经过属性获取或修改,相关成员函数以下:
其中进行设置的函数同时也都是槽。新设置的内容将取代原来的内容。
用如下的成员函数则能够清空显示内容:
1)Qt::AlignLeft::水平方向靠左。
2)Qt::AlignRight:水平方向靠右。
3)Qt::AlignHCenter:水平方向居中。
4)Qt::AlignJustify:水平方向调整间距两端对齐。
5)Qt::AlignTop:垂直方向靠上。
6)Qt::AlignButton:垂直方向靠下。
7)Qt::AlignVCenter:垂直方向居中。
8)Qt::AlignCenter:等价于 Qt::AlignHCenter | Qt::AlignVCenter。
其中一个水平方向的取值和一个垂直方向的取值能够用 “按位或” 的方式组合起来以同时指定两个方向的对齐方式。默认的对齐方式为水平靠左、垂直居中。
indent 属性表明文本的缩进值,相关的成员函数以下:
版权声明:本文为博主原创文章,未经博主容许不得转载。
QAbstractButton 类是 QPushButton,QCheckBox,QRadioButton 等类的基类,它能够表明按钮、单选纽、复选纽等重要窗口部件。一般不会直接使用这个类,这里主要介绍它的一些属性、信号和槽,介绍时暂时将这些窗口部件统称为钮。
属性
checkable 属性表明钮是否支持开关状态,好比按钮通常没有开关状态,而单选钮和复选钮都有打开和关闭两个状态。与 checkable 属性相关的成员函数以下:
autoExclusive 属性表示一个钮是否排他,相关的成员函数以下:
down 属性表明钮是否处于被按下的状态,相关成员函数以下:
注意设置这个属性仅仅是改变钮的外观,不会发射任何信号。
经过 icon 和 text 属性能够设置钮所显示的图标及文本,相关成员函数以下:
信号
在钮上用鼠标左键或者当钮获得焦点的时候用空格键都能操做这个钮。当钮被按下和松开时,将发射如下信号:
当钮的开关状态变化时,将发射如下信号:
槽
下面的两个槽都可以模拟钮被单击的过程:
二者的不一样点在于,click 函数不会改变钮的外观,它会直接进行单击的处理过程;而animateClick() 函数将彻底模拟用户按下按的过程,参数 msec 就是钮被按下的毫秒数。二者最终都会致使 pressed,released 和 clicked 信号的发射。
下面的槽将致使钮的开关状态发生切换:
版权声明:本文为博主原创文章,未经博主容许不得转载。
QPushButton 类表明按钮,它继承了 QAbstractButton 类,所以也有其所有的属性、信号和槽。
构造
QPushButton 类支持如下构造函数:
属性
按钮的外观通常是有立体感的。经过它的 flat 属性能够控制外观是否为扁平状,相关成员函数以下:
若是一个按钮在对话框中,那么它就有默认和自动默认的概念,分别由 defaults 属性以及 autoDefault 属性控制,相关的成员函数以下:
版权声明:本文为博主原创文章,未经博主容许不得转载。
QCheckBox 类表明复选钮,它继承了 QAbstractButton 类,所以也有其所有的属性、信号和槽。
构造
QCheckBox 支持如下构造函数:
属性
tristate 属性用于控制复选钮是否为三态的,相关的函数函数以下:
1)Qt::Unchecked:未选中。
2)Qt::PartiallyChecked:部分选中。
3)Qt::Checked:选中。
部分选中的状态常常用来表示一个选项树中某个选项的子选项有的选中、有的未选的状态。若是是一个复选钮不是三态的,则也能够用从 QAbstractButton 继承来的 checked 属性操做它的状态。
信号
当复选钮的状态发生变化时,将发射如下信号:
版权声明:本文为博主原创文章,未经博主容许不得转载。
QRadioButton 类表示单选钮,它继承了 QAbstractButton 类,所以也有其所有的属性、信号和槽。QRadioButton 类支持如下构造函数:
版权声明:本文为博主原创文章,未经博主容许不得转载。
QLineEdit 类表明编程框,它可让用户输入一个单行文本。
构造
QLineEdit 类支持如下构造函数:
属性
alignment 属性表示显示文本的对齐方式,相关成员函数以下:
maxLength 属性表示编辑框能够允许的最大输入长度,相关成员函数以下:
信号
当编辑框的内容发生变化时,将发射如下信号:
当编辑框的内容被编辑时,将发射如下信号:
当在编辑框中按下回车键时,将发射如下信号:
槽
调用下面的槽能够清空编辑框中的内容: