目录
QLabel
标签控件,用来显示文本和图片。
QLabel的核心属性:
text:标签中的文本。
textFormat:文本的格式。
setTextFormat的形参是枚举类型,有下面几种取值:
Qt::PlainText(纯文本)
Qt::RichText(富文本,支持html标签)
Qt::MarkdownText(markdown格式)
Qt::AutoText(根据文本内容自动决定文本格式)。
pixmap:QLabel内部的图片。QPixmap类对象,使用qrc文件中的资源路径初始化该对象。
scaledContents:scale:调节;(按比例或缩尺)绘制。标签中的图片内容自动拉伸填充整个标签。
alignment:alignment:对齐。用来设置标签中文本的对齐方式。
枚举变量的取值:
wordWrap:wrap:换行。设置标签中的文本是否会自动换行,void setWordWrap(bool)
indent:设置标签中文本的缩进,水平和垂直方向都生效。
setIndent的形参是像素值。
margin:设置标签中的文本和边框之间的边距,四个方向都生效。
和indent一样设置边距方法参数也是像素。
openExternalLinks:是否能可以打开文本中涉及到的url。
buddy:给标签设置一个"伙伴",点击标签后对应的伙伴也会被激活。例如将QCheckBox作为一个伙伴,点击标签后,QCheckBox会被选中。
QFrame
从Qt Designer界面中选中一个label控件后,界面右侧就是继承关系,可以看到QLabel继承自QFrame、QWidget、QObject。
我们可以通过QFrame中frameshape改变标签的边框样式。
例子:
textFormat
pixmap、scaledContents
现在要使我们导入到qrc文件中的图片铺满整个窗口,并且程序运行后,拖拽窗口大小同时该标签上的图片自动调节到与窗口一样的大小,且保持铺满窗口。
当我们进行拖拽窗口的时候,会触发一些系列resizeEvent,resizeEvent是QWidget类中的一个虚函数,当拖拽窗口时父类QWidget会调用虚函数resizeEvent,那么我们利用多态,通过在Widget子类中重写该虚函数resizeEvent。
alignment
默认的对齐方式是垂直居中和靠左,如下:
可以通过按位或多个枚举值来指定多个对齐方式,比如设置水平居中和靠底:
水平居中和垂直居中:
靠顶和靠右:
wordWrap、indent、margin
仅仅只是设置了换行的:
设置缩进和文本与边框之间的边距后:
buddy
有两个单选按钮,分别是两个标签的"伙伴",标签中的文本必须是**&后跟一个键盘按键字符** 的形式,按下alt键+标签文本中&后跟的一个键盘按键字符,该标签对应的伙伴按钮就会被选中。
此时按下alt+V对应标签的伙伴按钮就被选中。
QLCDNumber
专门显示数字的控件。
核心属性:
intValue:以整数型获取QLCDNumber中的数值。
value:以双精度浮点型获取QLCDNumber中的数值。
注意:设置QLCDNumber中的中的值是通过display方法设置的,display支持两种方法:1.使用字符串设置;2.使用整型设置。
digutCount:显示几位数字。
mode:数字显示形式。
segmentStyle:设置显示风格。
smalldecimalPoint:设置比较小的小数点。
例子:
设计一个从10到1的计时器(这里定时的描述必须是10s),间隔时间为1s。
QTimer
定时器类。通过QTimer中的start方法启动定时器,然后每隔一个周期触发一次QTimer::timeout信号,这个周期就是调用start方法启动定时器我们自己设定的时间。我们可以连接QTimer::timeout信号和一个槽函数。
QProgressBar
表示一个进度条。
核心属性:
minimum:进度条的最大值。
maximum:进度条的最小值。
value:进度条的当前值。
alignment:文本在进度条中的对齐方式。
textVisible:进度条的数字文本是否可见。
orientation:进度条的方向时水平还是垂直。
textDirection:文本的朝向。
format:进度条文本的类型。
更改进度条体的颜色:
通过Qt Creator右侧界面控件属性区更改QWidget类的styleSheet属性。
上面这两种进入样式表更改界面都是可以的。
QProgressBarchunk:表示进度条中的进度块;QProgressBar::text表示进度条中的文本。
上面的其他属性都可以在Qt Creator右侧界面控件属性区进行设置。
例子:
搞一个进度条,100ms走1%。
QCalendarWidget
表示日历的控件。
核心属性:
selectDate:当前选中的日期。
日历控件重要的信号:
selecttionChanged():当选中的日期发生改变时发出。
activated(const QDate&):当双击一个有效的日期或按回车键时发出信号,形参是一个QDate类型,保存了选中的日期。
currentPageChanged(int,int):当年份月份改变时发出,形参是改变后的新年份月份。
例子:
选中日历中的某日期时,在标签中显示该日期。
注意:QDate中有一个toString()方法可以把日期转化为字符串形式。