微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在wx.calendar CalendarCtrl窗口小部件上设置日期

如何解决在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 举报,一经查实,本站将立刻删除。