2011-10-11 36 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