2011-10-11 35 views
1

我有一個PyQt應用程序,它包含一個QDateEdit。我已經爲可以選擇的日期範圍設置了限制,這是一個月的邊界範圍內的短距離範圍,例如, 28/01/2011至02/02/2011。PyQt QDateEdit選擇問題

這似乎打破了QDateEdit,因爲你無法改變月份屏障的值。假設默認值是28/01/2011:我們不能將月份增加到2,因爲這會導致2011年2月28日的日期無效。但是,您不能減少這一天,因爲這會導致2011年1月27日無效。

這是一個錯誤,還是有人知道解決方法?

回答

2

我剛剛嘗試過,看起來確實如此。我看了一下C++文檔,它確實這樣說:

QDateTimeEdit可以配置爲允許使用QCalendarWidget來選擇日期。這是通過設置calendarPopup屬性來啓用的。另外,您可以通過調用setCalendarWidget()函數來提供自定義日曆小部件,以用作日曆彈出窗口。可以使用calendarWidget()檢索現有的日曆小部件。

所以,也許你可以使用它來設置日期?

編輯:

我能想到的是你不設置最低或最高與QDateEdit唯一的其他東西。然後你有一個名爲「更新日期」的按鈕,檢查爲最小/最大限制設置的日期。如果它不符合這些限制,它會將日期重置爲之前的狀態。如果它符合您使用日期集的限制。

+0

我想到了使用日曆的想法,但在只需要簡單編輯的情況下,它似乎相當多。感謝您的建議 - 我會嘗試用PyQt的開發人員提交錯誤報告。 – paulmdavies