QtGUI-QDataTimeEdit使用

    技术2024-08-13  87

    概述

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

    下拉的日历窗

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

    方法1

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

    属性设置设置效果

    方法2

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

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

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

    QDataTimeEdit内部构造

    临时未上传

    自定义QDataTimeEdit

    临时未上传

    时间编辑框下拉

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

    Processed: 0.009, SQL: 9