QDateEdit validations
QDateEdit validations
本文关键字:validations QDateEdit 更新时间:2023-10-16
我正在尝试验证两个QDateEdits。我有两个字段,startdate
和 enddate
,我想验证 enddate
的最小日期是否为所选startdate
日期。但是,我也想让用户有机会将enddate
字段为空。我连接了两个字段,
connect(startDate,SIGNAL(dateChanged(QDate)),endDate,SLOT(setMinDate(QDate)));
startDate
和endDate
通过弹出日历QDateEdit
。
那么,问题出在哪里呢?当我单击endDate时,最小日期还可以,但是第二天(第一个有效日期(显示为蓝色,就像已选择的那样,但是当我单击该日期时,弹出窗口关闭并且未设置日期。例如:
当我打开表单时,startdate
字段默认具有当前日期。后来我点击endDate
字段,允许的最小日期是多一天,这没关系,但是这个最小允许日期是蓝色标记的,当我单击时,日期没有设置。
对不起,如果我的英语这么差,我希望你能帮助我。无论如何感谢
我找到了我的问题所在。我将插槽连接到dateChanged(QDate)
信号,因此,默认情况下,QDateEdit
将第一个允许的日期设置为选定的日期,因此,如果您再次选择它,则信号不会发出,因此不会设置日期。我的解决方案是使用editingFinished()
信号而不是dateChanged(QDate)
信号。我希望对您有所帮助。问候