我正在尝试设置选定的日期,以便它始终是当前日期。我该怎么办?
目前,如果我让小部件放置一天以上,则所选日期不会更新。因此日期会落后。我将如何更改所选日期,以便它始终是最新的?
我正在尝试设置选定的日期,以便它始终是当前日期。我该怎么办?
目前,如果我让小部件放置一天以上,则所选日期不会更新。因此日期会落后。我将如何更改所选日期,以便它始终是最新的?
如果需要,您可以设置一个计时器 ( wx.Timer
) 实例以wx.EVT_TIMER
每隔几秒/分钟生成一次,并将事件绑定到负责使用当前日期 ( wx.DateTime_Now()
) 更新日历的方法。
在这里,您有一个最小的工作演示代码(尝试更改日期:它将在一秒钟后返回到当前日期):
import wx
import wx.calendar
class MyCalendar(wx.Frame):
def __init__(self, *args, **kargs):
wx.Frame.__init__(self, *args, **kargs)
self.cal = wx.calendar.CalendarCtrl(self, -1, wx.DateTime_Now())
self.timer = wx.Timer(self)
self.timer.Start(1000)
self.Bind(wx.EVT_TIMER, self.update_date)
def update_date(self, evt):
date = wx.DateTime_Now()
self.cal.SetDate(date)
if __name__ == '__main__':
app = wx.PySimpleApp()
frame = MyCalendar(None)
frame.Show()
app.MainLoop()