【Qt】常用控件(LCD Number/进度条/日历)

发布于:2024-04-16 ⋅ 阅读:(150) ⋅ 点赞:(0)


需要云服务器等云产品来学习Linux可以移步/-->腾讯云<--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。


目录

一、LCD Number(LCD显示器)

一个倒计时程序

二、ProgressBar(进度条)

1、创建一个进度条,100ms进度增加1

2、使用styleSheet修改进度条的颜色

三、Calendar Widget(日历)

当选中日期改变时,打印当前日期


一、LCD Number(LCD显示器)

核心属性:

属性

说明

intValue

获取int类型的数值

value

获取double类型的数值

它和intValue是联动的,例如给value设置为1.5,那么intValue就是2(四舍五入)

设置value和intValue的方法名字为display,而不是setValue和setIntValue

digitCount

显示几位数字

mode

让数字按几进制显示:

1、QLCDNumber::Dec:十进制显示

2、QLCDNumber::Hex:十六进制显示

3、QLCDNumber::Bin: 二进制显示

4、QLCDNumber::Oct: 八进制显示

只有十进制才能显示小数部分

segmentStyle

设置显示风格。

1、QLCDNumber::Flat:让数字显示在一个平面上

2、QLCDNumber::Outline:数字具有清晰的轮廓和阴影效果

3、QLCDNumber::Filled:数字被填充颜色并与背景区分开。

smallDecimalPoint

让小数点显得比较小

一个倒计时程序

想要实现每秒的倒计时,就需要一个定时器,C++的boost库中提供了定时器,Qt也自带了定时器QTimer(结合了信号槽机制)

通过QTimer这个类创建出来的对象,就会定时产生一个timeout信号。

可以通过start方法来开启定时器,并且在参数中设定触发timeout的周期。结合connect,把这个timeout信号绑定到需要的槽函数中,就可以执行逻辑,修改LCDNumber中的数字。

注意:

1、Widget的构造函数别加sleep!!!会影响GUI界面的构造

2、Qt为了保证修改GUI界面的过程是安全的,禁止其他线程修改GUI界面,所有修改界面的行为,必须在主函数中进行。(默认情况下,槽函数都是由主线程进行调用的,在槽函数中修改界面是可以的)

二、ProgressBar(进度条)

核心属性:

属性

说明

minimum

进度条最小值

maximum

进度条最大值

value

进度条当前值

alignment

进度值文本(24%)在进度条中的对齐方式

1、Qt::AlignLeft:左对齐

2、Qt::AlignRight:右对齐

3、Qt::AlignCenter:居中对齐

4、Qt::AlignJustify:两端对齐

textVisible

进度条的数字是否可见

orientation

进度条的方向是水平还是垂直

invertAppearance

是否朝方向增长进度

textDirection

进度值文本的朝向

format

展示的数字格式:

1、%p%: 表示进度的百分比(0-100)

2、%v: 表示当前进度的数值 (0-100)

3、%m:表示剩余时间 (以毫秒为单位)

4、%t: 表示总时间 (以毫秒为单位)

1、创建一个进度条,100ms进度增加1

2、使用styleSheet修改进度条的颜色

QProgressBar也是QWidget的子类,因此可以使用styleSheet通过样式来修改进度条的颜色。

右键ui中的进度条控件->改变样式表

进度条的进度按照实际任务耗时时间进度来设定。使用时需要搭配定时器使用。

三、Calendar Widget(日历)

核心属性:

属性

说明

selectDate

当前选中的日期

minimumDate

最小日期

maxmumDate

最大日期

firstDayOfWeek

每周的第一天是周几(日历的第一列是周几)

gridVisible

是否显示表格的边框

selectionMode

是否允许选择日期

navigationBarVisible

日历上方标题是否显示

horizontalHeaderFormat

日历上方标题显示的日期格式(水平标题格式)

verticalHeaderFormat

日历第一列显示的内容格式(垂直标题格式)

dateEditEnabled

是否允许日期被编辑

重要信号:

信号

说明

selectionChanged()

当选中的日期发生改变时发出。

activated(const QDate&)

当双击一个有效的日期或按下回车键发出。形参是QDate类型,保存了选中的日期。

currentPageChanged(int, int)

当年份月份改变发出,形参表示改变后的新年份和月份。

当选中日期改变时,打印当前日期


网站公告

今日签到

点亮在社区的每一天
去签到