如何解决在wx.calendar CalendarCtrl窗口小部件上设置日期
|| 我正在尝试设置所选日期,以使其始终是当前日期。我将如何处理? 目前,如果我让该小部件放置超过一天,则所选日期不会更新。因此日期会落后。如何更改所选日期,使其始终保持最新状态?解决方法
您可以设置一个计时器(
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,**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()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。