2017-06-21 37 views
0

我想驗證兩個QDateEdits。我有兩個字段,startdateenddate,我想驗證的最短日期爲enddate是選定的startdate日期。但是,我想給用戶機會,enddate字段可以是空的。 我conected這兩個領域QDateEdit驗證

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

startDateendDateQDateEdit有彈出日曆。

那麼,這裏的問題在哪裏?當我點擊endDate minimun日期沒關係,但第二天(fisrt有效日期)出現在藍色,就像它被選中,但當我點擊了該日期彈出關閉和日期它沒有設置。例如:

當我打開表格時,startdate字段默認爲當前日期。後期我點擊endDate字段,最小允許日期是多餘的一天,但沒關係,但是這個最小允許日期是藍色標記的,當我點擊它沒有設置的日期時。

對不起,如果我的英語很糟糕,我希望你能幫助我。謝謝任何方式

+0

請提供一些代碼。 – MrLeeh

回答

1

我發現我的問題是。我將插槽連接到dateChanged(QDate)信號,因此,默認情況下,QDateEdit將第一個允許的日期設置爲選中狀態,因此如果您再次選擇該信號,則表示該信號未被佔用,並且結果爲未設置的日期。我的解決方案是使用editingFinished()信號代替dateChanged(QDate)信號。我希望有幫助。問候,