【问题标题】:QDateEdit validationsQDateEdit 验证
【发布时间】:2017-06-22 05:22:59
【问题描述】:

我正在尝试验证两个 QDateEdit。我有两个字段,startdateenddate,我想验证enddate 的最小日期是选定的startdate 日期。而且,我想给用户机会,enddate 字段可以为空。 我连接了两个字段

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

startDateendDate 是带有弹出日历的 QDateEdit

那么,问题出在哪里??当我点击 endDate 最小日期时它可以,但是第二天(第一个有效日期)以蓝色显示,就像它被选中一样,但是当我点击那个日期时,弹出窗口关闭并且它没有设置的日期。例如:

当我打开表单时,startdate 字段默认为当前日期。稍后我点击endDate 字段,允许的最短日期是一天,这没关系,但是这个允许的最短日期是蓝色的,当我点击日期时它没有设置。

对不起,如果我的英语太糟糕了,我希望你能帮助我。感谢任何方式

【问题讨论】:

  • 请提供一些代码。

标签: c++ qt


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    相关资源
    最近更新 更多