Qt (7)【显示类控件 | QLabel | QLCDNumber | QProgressBar | QCalendarWidget】
在深入探索Qt框架的丰富控件库时,我们已从基础出发,初步领略了按钮类控件的多样性与灵活性。它特别适用于需要直观展示数值变化,如计时器、计数器或监控系统等场景,为应用界面增添了一抹独特的科技感。则为我们打开了一扇通往日期和时间管理的窗口。这个日历控件不仅允许用户浏览、选择日期,还支持自定义样式和事件提醒等功能,是日程管理等应用的得力助手。它以水平或垂直条形图的形式,直观展示任务的完成进度,让用户对操
引言
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家点击跳转到网站
在深入探索Qt框架的丰富控件库时,我们已从基础出发,初步领略了按钮类控件的多样性与灵活性。今天,我们的旅程将迈向一个更加视觉化与信息密集的领域——显示类控件。在这一站,我们将揭开QLabel、QLCDNumber、QProgressBar以及QCalendarWidget的神秘面纱,它们不仅以其独特的方式展示信息,还极大地丰富了应用程序的界面表现力和用户交互体验。
一、QLabel
QLabel作为文本和图标的通用显示容器,其灵活性和易用性使其成为界面设计中不可或缺的元素。无论是静态文本提示、动态内容更新,还是结合富文本格式展示复杂信息,QLabel都能轻松应对。
| 属性 | 说明 |
|---|---|
text |
QLabel中的文本 |
textFormat |
文本的格式。可选项包括: - Qt::PlainText:纯文本- Qt::RichText:富文本(支持html标签)- Qt::MarkdownText:markdown格式- Qt::AutoText:根据文本内容自动决定文本格式 |
pixmap |
QLabel内部包含的图片 |
scaledContents |
设为true表示内容自动拉伸填充QLabel;设为false则不会自动拉伸 |
alignment |
对齐方式。可以设置水平和垂直方向如何对齐 |
wordWrap |
设为true内部的文本会自动换行;设为false则内部文本不会自动换行 |
indent |
设置文本缩进。水平和垂直方向都生效 |
margin |
内部文本和边框之间的边距。不同于indent,但是是上下左右四个方向都同时有效。而indent最多只是两个方向有效(具体哪两个方向有效取决于alignment) |
openExternalLinks |
是否允许打开一个外部的链接(当QLabel文本内容包含url的时候涉及到) |
buddy |
给QLabel关联一个"伙伴",这样点击QLabel时就能激活对应的伙伴。例如伙伴如果是一个QCheckBox,那么该QCheckBox就会被选中 |
二、QLCDNumber
接下来,QLCDNumber以其复古的LCD显示屏风格,为数字显示提供了一种别具一格的方式。它特别适用于需要直观展示数值变化,如计时器、计数器或监控系统等场景,为应用界面增添了一抹独特的科技感。
| 属性 | 说明 |
|---|---|
intValue |
QLCDNumber显示的数字值(int)。与value属性联动。例如,给value设为1.5,intValue的值就是2。 |
value |
QLCDNumber显示的数字值(double)。与intValue属性联动。 |
digitCount |
显示几位数字。 |
mode |
数字显示形式。 - QLCDNumber::Dec:十进制模式,显示常规的十进制数字。- QLCDNumber::Hex:十六进制模式,以十六进制格式显示数字。- QLCDNumber::Bin:二进制模式,以二进制格式显示数字。- QLCDNumber::Oct:八进制模式,以八进制格式显示数字。注意,只有十进制模式才能显示小数点后的内容。 |
segmentStyle |
设置显示风格。 - QLCDNumber::Flat:平面显示风格,数字呈现在一个平坦的表面上。- QLCDNumber::Outline:轮廓显示风格,数字具有清晰的轮廓和阴影效果。- QLCDNumber::Filled:填充显示风格,数字被填充颜色并与背景区分开。 |
smallDecimalPoint |
设置比较小的小数点。 |
🚨🚨注意:在Qt中,设置QLCDNumber的值通常使用display()方法,而不是setValue()或setIntValue()。
三、QProgressBar
谈及进度反馈,QProgressBar无疑是首选。它以水平或垂直条形图的形式,直观展示任务的完成进度,让用户对操作状态一目了然。无论是文件下载、数据处理还是任务执行,QProgressBar都能有效提升用户体验,减少等待过程中的不确定感。
| 属性 | 说明 |
|---|---|
minimum |
进度条最小值 |
maximum |
进度条最大值 |
value |
进度条当前值 |
alignment |
文本在进度条中的对齐方式 - Qt::AlignLeft:左对齐- Qt::AlignRight:右对齐- Qt::AlignCenter:居中对齐- Qt::AlignJustify:两端对齐(注意:在进度条中可能不适用) |
textVisible |
进度条的数字是否可见 |
orientation |
进度条的方向是水平还是垂直 |
invertAppearance |
是否是朝反方向增长进度 |
textDirection |
文本的朝向(具体实现可能依赖于QProgressBar的样式和平台,通常不直接设置) |
format |
展示的数字格式 - %p:表示进度的百分比(0-100)- %v:表示进度的数值(与value相同,但格式化为0-100)- %m:表示剩余时间(以毫秒为单位,需自定义实现)- %t:表示总时间(以毫秒为单位,需自定义实现) |
四、QCalendarWidget
QCalendarWidget则为我们打开了一扇通往日期和时间管理的窗口。这个日历控件不仅允许用户浏览、选择日期,还支持自定义样式和事件提醒等功能,是日程管理等应用的得力助手。
| 属性 | 说明 |
|---|---|
selectDate |
当前选中的日期 |
minimumDate |
最小日期 |
maximumDate |
最大日期 |
firstDayOfWeek |
每周的第一天(也就是日历的第一列)是周几 |
gridVisible |
是否显示表格的边框 |
selectionMode |
是否允许选择日期 |
navigationBarVisible |
日历上方标题是否显示 |
horizontalHeaderFormat |
日历上方标题显示的日期格式 |
verticalHeaderFormat |
日历第一列显示的内容格式 |
dateEditEnabled |
是否允许日期被编辑 |
⭕重要信号
| 信号名称 | 说明 | 参数 |
|---|---|---|
selectionChanged(const QDate&) |
当选中的日期发生改变时发出 | const QDate&:改变后的日期 |
activated(const QDate&) |
当双击一个有效的日期或者按下回车键时发出 | const QDate&:被激活(选中)的日期 |
currentPageChanged(int, int) |
当年份或月份改变时发出 | int:改变后的年份int:改变后的月份(注意:月份通常是从1开始的,即1代表1月) |
更多推荐
所有评论(0)