QDateEdit validations

QDateEdit validations

本文关键字:validations QDateEdit      更新时间:2023-10-16

我正在尝试验证两个QDateEdits。我有两个字段,startdateenddate,我想验证 enddate 的最小日期是否为所选startdate日期。但是,我也想让用户有机会将enddate字段为空。我连接了两个字段,

connect(startDate,SIGNAL(dateChanged(QDate)),endDate,SLOT(setMinDate(QDate)));

startDateendDate通过弹出日历QDateEdit

那么,问题出在哪里呢?当我单击endDate时,最小日期还可以,但是第二天(第一个有效日期(显示为蓝色,就像已选择的那样,但是当我单击该日期时,弹出窗口关闭并且未设置日期。例如:

当我打开表单时,startdate字段默认具有当前日期。后来我点击endDate字段,允许的最小日期是多一天,这没关系,但是这个最小允许日期是蓝色标记的,当我单击时,日期没有设置。

对不起,如果我的英语这么差,我希望你能帮助我。无论如何感谢

我找到了我的问题所在。我将插槽连接到dateChanged(QDate)信号,因此,默认情况下,QDateEdit将第一个允许的日期设置为选定的日期,因此,如果您再次选择它,则信号不会发出,因此不会设置日期。我的解决方案是使用editingFinished()信号而不是dateChanged(QDate)信号。我希望对您有所帮助。问候

相关文章: