wxPython - DatePickerCtrl似乎忽略SetValue()

5 投票
1 回答
2824 浏览
提问于 2025-04-15 17:13

我正在尝试用以下代码给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
  • month, day, year = 12 16 09
  • displayDate = 12/16/09 00:00:00

但是,日期选择器总是显示今天的日期。

有什么想法吗?

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

谢谢。


更新 20/12/09 16:30:

当我尝试处理这个日期选择器中的信息时,出现了以下错误:

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

我是不是漏掉了什么?

1 个回答

2

你有没有试过把年份改成2009,而不是9呢?

撰写回答