1
我想知道是否有人知道如何将闪烁文本编程到wxPython中? (我对wxPython相当陌生) 它每隔半秒左右就会在红色和正常之间闪烁,我使用的是Python 2.7.3,而不是最新版本。wxPython中的闪烁文本
感谢
克里斯
我想知道是否有人知道如何将闪烁文本编程到wxPython中? (我对wxPython相当陌生) 它每隔半秒左右就会在红色和正常之间闪烁,我使用的是Python 2.7.3,而不是最新版本。wxPython中的闪烁文本
感谢
克里斯
你会想看看如何在飞行中改变fonts。通常,它只是调用小部件的SetFont()方法。既然你想定期这样做,那么你几乎肯定会想要使用wx.Timer。如果你愿意,你可以阅读我的tutorial关于这个主题。我可能会使用StaticText小部件。
更新:这是一个愚蠢的例子:
import random
import time
import wx
########################################################################
class MyPanel(wx.Panel):
""""""
#----------------------------------------------------------------------
def __init__(self, parent):
"""Constructor"""
wx.Panel.__init__(self, parent)
self.font = wx.Font(12, wx.DEFAULT, wx.NORMAL, wx.NORMAL)
self.flashingText = wx.StaticText(self, label="I flash a LOT!")
self.flashingText.SetFont(self.font)
self.timer = wx.Timer(self)
self.Bind(wx.EVT_TIMER, self.update, self.timer)
self.timer.Start(1000)
#----------------------------------------------------------------------
def update(self, event):
""""""
now = int(time.time())
mod = now % 2
print now
print mod
if mod:
self.flashingText.SetLabel("Current time: %i" % now)
else:
self.flashingText.SetLabel("Oops! It's mod zero time!")
colors = ["blue", "green", "red", "yellow"]
self.flashingText.SetForegroundColour(random.choice(colors))
########################################################################
class MyFrame(wx.Frame):
""""""
#----------------------------------------------------------------------
def __init__(self):
"""Constructor"""
wx.Frame.__init__(self, None, title="Flashing text!")
panel = MyPanel(self)
self.Show()
#----------------------------------------------------------------------
if __name__ == "__main__":
app = wx.App(False)
frame = MyFrame()
app.MainLoop()
嗯,这是一个好主意,你会怎么做,以便它自行启动,并打印出没有确切的日期和时间,但time.time()数字并用它来计数。我也在考虑使用if else语句,即,如果计时器的整数值除以2后的余数为0,则显示此文本,否则显示此文本,您有关于如何执行此操作的任何想法? (对不起,如果这听起来像一个noob问题) – 2012-08-07 23:59:19
哦,我几乎忘了,我可以复制和粘贴我的代码,据我所知,如果这将有助于事情 – 2012-08-08 00:01:08
我添加了一个愚蠢的例子 – 2012-08-08 14:07:56