我有一个 PyQt 应用程序,其中包含一个 QDateEdit。我对可以选择的日期范围设置了限制,这是一个月边界上的一个短范围,例如 28/01/2011 到 02/02/2011。
这似乎破坏了 QDateEdit,因为您无法更改跨月障碍的值。假设默认值为 28/01/2011:我们不能将月份增加到 2,因为这将导致日期为 28/02/2011,这是无效的。但是,您不能减少日期,因为这会导致 27/01/2011,这是无效的。
这是一个错误,还是有人知道解决方法?
我刚刚尝试过,似乎确实如此。我查看了 C++ 文档,它确实这样说:
QDateTimeEdit 可以配置为允许使用 QCalendarWidget 来选择日期。这是通过设置 calendarPopup 属性来启用的。此外,您可以通过调用 setCalendarWidget() 函数提供自定义日历小部件,以用作日历弹出窗口。可以使用 calendarWidget() 检索现有的日历小部件。
所以也许你可以用它来设置日期?
编辑:
我能想到的唯一另一件事是您没有使用 QDateEdit 设置最小值或最大值。然后您有一个名为“更新日期”的按钮,用于检查为最小/最大限制设置的日期。如果它不满足这些限制,它会将日期重置为以前的日期。如果它确实满足您使用日期集的限制。