Date Edit & Time Edit
使⽤ QDateEdit 作为⽇期的微调框.
![![[Pasted image 20250421101811.png]]](https://i-blog.csdnimg.cn/direct/ae614291fd734910841d536003232bd8.png)
使⽤ QTimeEdit 作为时间的微调框
![![[Pasted image 20250421101824.png]]](https://i-blog.csdnimg.cn/direct/3ef1db69d9d14ae9a257233aa9b4e28e.png)
使⽤ QDateTimeEdit 作为时间⽇期的微调框
![![[Pasted image 20250421101838.png]]](https://i-blog.csdnimg.cn/direct/f9670f38c8f7454db02e07bfddb02c06.png)
这⼏个控件⽤法⾮常相似,我们以 QDateTimeEdit 为例进⾏介绍.
QDateTimeEdit 核⼼属性
| 属性 | 说明 |
|---|---|
| dateTime | 时间⽇期的值.形如 2000/1/1 0:00:00 |
| date | 单纯⽇期的值.形如 2001/1/1 |
| time | 单纯时间的值.形如 0:00:00 |
| displayFormat | 时间⽇期格式.形如 yyyy/M/d H:mm • y 表⽰年份 • M 表⽰⽉份 • d 表⽰⽇期 • H 表⽰⼩时 • m 表⽰分钟 • s 表⽰秒 注意:这⾥的格式化符号的含义,不要记忆.不同语⾔/库的设定规则 是存在差异的.⼀定是⽤的时候再去查. |
| minimumDateTime | 最⼩时间⽇期 |
| maximumDateTime | 最⼤时间⽇期 |
| timeSpec | • Qt::LocalTime :显⽰本地时间。 • Qt::UTC :显⽰协调世界时(UTC)。 • Qt::OffsetFromUTC :显⽰相对于UTC的偏移量(时差). |
关于本地时间(LocalTime)和协调世界时(UTC)
UTC时间是⼀个基于原⼦钟的标准时间.不受地球的⾃转周期影响.和格林威治时间(GMT)是⾮常接近的.科学家会通过精密的设备来测量并维护.
咱们的计算机内部使⽤的时间就是基于UTC时间.
本地时间则是基于不同的时区,对UTC时间做出了⼀些调整.⽐如咱们使⽤的北京时间,位于"东⼋区",就需要在UTC时间基础上+8个⼩时的时差
核⼼信号
| 信号 | 说明 |
|---|---|
| dateChanged(QDate) | ⽇期改变时触发. |
| timeChanged(QTime) | 时间改变时触发. |
| dateTimeChanged(QDateTi me) |
时间⽇期任意⼀个改变时触发. |
代码⽰例:实现⽇期计算器
1)在界⾯上创建两个 QDateTimeEdit 和⼀个按钮,⼀个label
QDateTimeEdit 的 objectName 为 dateTimeEdit_old 和 dateTimeEdit_new
![![[Pasted image 20250421104256.png]]](https://i-blog.csdnimg.cn/direct/3f62877a8ede4b9e9a329848e26f11ce.png)
2)编写计算按钮的slot函数
- 使⽤ daysTo 函数可以计算两个⽇期的天数.
- 使⽤ secsTo 函数可以计算两个时间的秒数.
- 通过 (秒数 / 3600) 换算成⼩时数,再余上24得到零⼏个⼩时.
- 使⽤ QString::number 把整数转成 QString 进⾏拼接.
void Widget::on_pushButton_clicked()
{
//获取到两个输入框的时间
QDateTime timeOld = ui->dateTimeEdi

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



