QtGUI-QDataTimeEdit使用

概述

Here,主要讲解如何为QData Edit(日期编辑控件) 或 QData/Time Edit (日期+时间编辑控件),添加下拉的Calendar Widget(日历窗口),以更便捷的选择日期。也讲解QDataTimeEdit控件的本质构成,重写其事件处理等。

下拉的日历窗

在QtDesigner中,与时间有关的控件大约如下,分别是日期编辑框、时间编辑框、日期+时间编辑框、日历窗口。
QtGUI-QDataTimeEdit使用_第1张图片
上图中的日期时间编辑框,可以通过spinBox操作,改变光标所在处的日期或时间,当然通过方向键我们也可以。但是更多的时候,我们希望将spinBox换成comboBox那样的下拉框模式,使得能弹出类似右侧的日历窗,来进行操作。

方法1

这里使用的是Qt5.9,直接在控件属性编辑中,勾选calendarPopup即可。勾选后ui中的显示变化如右图上下。

属性设置 设置效果
QtGUI-QDataTimeEdit使用_第2张图片 在这里插入图片描述

方法2

这中描述有点多余,因为只要是能在UI编辑器属性窗中进行的设置,必定会存在接口函数,连名字都不带变化的。

QDateEdit date = new QDateEdit();
date->setCalendarPopup(true);

两种方法的运行效果,如下,使用日历控件选择,依然能继续使用方向键调整日期和时间的数值。
QtGUI-QDataTimeEdit使用_第3张图片

QDataTimeEdit内部构造

临时未上传

自定义QDataTimeEdit

临时未上传

时间编辑框下拉

类似于手机闹铃设置的样式-

你可能感兴趣的:(#,Qt/GUI,设计/实现,Qt时间控件,QDataEdit下拉日历,QDataTimeEdit下拉)