一、QDateTimeEdit控件
QDateTimeEdit
提供了一个用于编辑日期和时间的控件。用户可以通过键盘或使用上下箭头键来增加或减少日期和时间值。日期和时间的显示格式根据设置的格式显示,可以通过 setDisplayFormat()
方法来设置。
二、如何清空
我在使用的时候,发现这个控件不管我怎么设置,在控件里都会有一个时间的值(随机值/默认值/范围最小值),在有的界面里就不太美观。下面是清空的代码:
ui->DateTimeEdit->setSpecialValueText(" ");
ui->DateTimeEdit->setMinimumDate(QDate(2024, 1, 1));
ui->DateTimeEdit->setDate(QDate::fromString("2024-01-01", "yyyy-MM-dd"));
这个代码的直接使用就可以实现控件的清空,第一行代码是给这个控件提供一个特殊值 " ",下面的两行主要是限制控件的时间范围和设置时间,结合第一行使用就可以清空。
tip:如果在使用时发现不能清空,先查看自己的控件的时间设置是不是通过读取某一个值进行设置,这个清空操作只能将控件的样式修改为空白,但是控件中的时间不一定会进行置0(毕竟置0也也没有用,0表示Unix时间戳开始时间,为1970-01-01 08:00:00),所以,当发现这个代码没有办法实现清空时,记得先去查看时间数据处理部分有没有进行操作。
【24-11-29】补充:如果进行清空的时候,发现没有效果,还有可能是有时分秒没有置0,只需要在上面的置0代码前加上下面这一段即可
(这里我也不理解,时分秒没有置0,居然会导致清空没有效果,但是加上以后就可以清空,有兴趣的可以去研究一下)
QDateTime dateTime(QDate::fromString("2024-01-01", "yyyy-MM-dd"));
dateTime.setTime(QTime(0, 0, 0));
ui->DateTimeEdit->setDateTime(dateTime);