我正在尝试验证两个QDateEdits。我有两个字段,startdate和enddate,我想验证enddate的最小日期是否为所选的startdate日期。而且,我还想给用户提供enddate字段可以为空的机会。我把两个地方都检查过了
connect(startDate,SIGNAL(dateChanged(QDate)),endDate,SLOT(setMinDate(QDate)));startDate和endDate是带有弹出式日历的QDateEdit。
那么,问题出在哪里呢?当我点击endDate的最小日期,它是可以的,但第二天(第一个有效日期)显示为蓝色,就像它被选中一样,但当我点击该日期时,弹出窗口关闭,日期没有设置。例如:
当我打开表单时,startdate字段默认具有当前日期。稍后,我点击endDate字段,最小允许日期是多一天,但这个最小允许日期是蓝色标记的,当我单击日期时,它还没有设置。
对不起,如果我的英语这么差,我希望你能帮助我。不管怎样,谢谢你
发布于 2017-06-21 22:56:52
我找到了我的问题所在。我将插槽连接到dateChanged(QDate)信号,因此,默认情况下,QDateEdit将第一个允许的日期设置为选中,因此,如果您再次选择它,它将不会发出信号,结果是它不会设置日期。我的解决方案是用dateChanged(QDate)信号代替editingFinished()信号。我希望这对你有所帮助。致以敬意,
https://stackoverflow.com/questions/44678602
复制相似问题