【问题标题】:wxPython - DatePickerCtrl seems to ignore SetValue()wxPython - DatePickerCtrl 似乎忽略了 SetValue()
【发布时间】:2009-12-20 15:02:17
【问题描述】:

我正在尝试使用以下代码为 wxPython DatePicker 预填充一个值:

month, day, year = runData[2][0:8].split('/')
displayDate = wx.DateTimeFromDMY(int(day), int(month) - 1, int(year))
self.datePicker.SetValue(displayDate)

这是打印出来的值:

  • runData[2] = 12/16/09 00:00
  • 月、日、年 = 12 16 09
  • displayDate = 12/16/09 00:00:00

但是,datePicker 总是显示今天的日期。

有什么想法吗?

我在 Windows 7 上使用 Python 2.6.4 和 wxPython 2.8.10.1。

谢谢。


20/12/09 16:30 更新:

当我尝试处理来自 DatePickerCtrl 的信息时,出现以下错误:

Traceback (most recent call last):
  File "test.py", line 1120, in onOk
    dateLong = self.datePicker.GetValue()
  File "c:\python26\lib\site-packages\wx-2.8-msw-unicode\wx\_controls.py", line
6465, in GetValue
    return _controls_.DatePickerCtrlBase_GetValue(*args, **kwargs)
wx._core.PyAssertionError: C++ assertion "m_date.IsValid() == dt.IsValid() && (!
dt.IsValid() || dt == m_date)" failed at ..\..\src\msw\datectrl.cpp(278) in wxDa
tePickerCtrl::GetValue(): bug in wxDatePickerCtrl: m_date not in sync

我错过了什么吗?

【问题讨论】:

  • 平台?视窗? Linux?麦克?

标签: python wxpython


【解决方案1】:

您是否尝试过使用 2009 年而不是 9 年?

【讨论】:

  • 背景似乎是wx.DateTime不接受1700之前的日期。如果您通过 01-01-1500,控件将改为显示今天。
猜你喜欢
  • 2021-10-28
  • 2016-09-30
  • 2016-03-16
  • 2014-02-03
  • 2012-03-11
  • 2013-09-07
  • 2016-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多