Here,主要讲解如何为QData Edit(日期编辑控件) 或 QData/Time Edit (日期+时间编辑控件),添加下拉的Calendar Widget(日历窗口),以更便捷的选择日期。也讲解QDataTimeEdit控件的本质构成,重写其事件处理等。
在QtDesigner中,与时间有关的控件大约如下,分别是日期编辑框、时间编辑框、日期+时间编辑框、日历窗口。 上图中的日期时间编辑框,可以通过spinBox操作,改变光标所在处的日期或时间,当然通过方向键我们也可以。但是更多的时候,我们希望将spinBox换成comboBox那样的下拉框模式,使得能弹出类似右侧的日历窗,来进行操作。
这里使用的是Qt5.9,直接在控件属性编辑中,勾选calendarPopup即可。勾选后ui中的显示变化如右图上下。
属性设置设置效果这中描述有点多余,因为只要是能在UI编辑器属性窗中进行的设置,必定会存在接口函数,连名字都不带变化的。
QDateEdit date = new QDateEdit(); date->setCalendarPopup(true);两种方法的运行效果,如下,使用日历控件选择,依然能继续使用方向键调整日期和时间的数值。
临时未上传
临时未上传
类似于手机闹铃设置的样式-