wxPython StaticText小部件"闪烁"

rec*_*gle 2 python wxpython clock

我正在尝试制作一个数字时钟.其中一个问题是显示器会"闪烁".换句话说,wx.StaticText小部件(在这种情况下为self.ST)将在非常短的时间内变为空白.我相信原因可能会发现它是self.ST如何更新的根源(即SetLabel()).有没有办法提供更平滑的过渡,以阻止闪烁?

这是self.ST更新的功能:

def tick (self):
    ''' Continually updates the time. '''

    TimeStr = '%I:%M %S %p'
    DateStr = '%A, %B %d, %Y'


    Time = time.strftime(TimeStr)
    Date = time.strftime(DateStr)

    self.TimeDate =  Time + '\t\t' + Date

    self.ST.SetLabel(Time)

    wx.CallLater(1000, self.tick)
Run Code Online (Sandbox Code Playgroud)

Ole*_*siy 6

修复闪烁的一种方法是在窗口小部件的顶部容器中启用双缓冲.通常,这是通过self.SetDoubleBuffered(True)在初始化程序内调用来完成的,例如在类的Panel容器中StaticText.