1

我正在尝试设置选定的日期,以便它始终是当前日期。我该怎么办?

目前,如果我让小部件放置一天以上,则所选日期不会更新。因此日期会落后。我将如何更改所选日期,以便它始终是最新的?

4

1 回答 1

1

如果需要,您可以设置一个计时器 ( 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()
于 2011-05-28T07:28:46.413 回答