自学内容网 自学内容网

【Qt】QDateTimeEdit控件实现清空(不保留默认时间/最小时间)

一、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);


原文地址:https://blog.csdn.net/m0_67565143/article/details/144110180

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!