gpt4 book ai didi

python - wxPython 使用计时器每 x 秒/分钟更新一次 StaticText

转载 作者:行者123 更新时间:2023-11-28 22:52:56 29 4
gpt4 key购买 nike

我正在尝试使用计时器和函数的输出来更新一些静态文本。

代码在这里:code .

我对 wxPython 知之甚少,它是我不得到的许多事情之一,这太令人抓狂了,如果我打印 apper 的输出来控制台它完美地工作,所有我想要做的是将打印到控制台的内容应用于文本。

我做错了什么?

最佳答案

定时器使用起来可能很痛苦,更简单的方法是使用函数 wx.CallAfter 和/或 wx.CallLater - 而且这些函数是线程安全的并可用于从其他工作线程调用 GUI 线程上的函数。这是一个示例...

import random
import wx

class Frame(wx.Frame):
def __init__(self):
super(Frame, self).__init__(None)
self.SetTitle('Title')
panel = wx.Panel(self)
style = wx.ALIGN_CENTRE | wx.ST_NO_AUTORESIZE
self.text = wx.StaticText(panel, style=style)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.AddStretchSpacer(1)
sizer.Add(self.text, 0, wx.EXPAND)
sizer.AddStretchSpacer(1)
panel.SetSizer(sizer)
self.on_timer()
def on_timer(self):
self.text.SetLabel(str(random.randint(0, 100)))
wx.CallLater(1000, self.on_timer)

if __name__ == '__main__':
app = wx.App()
frame = Frame()
frame.Show()
app.MainLoop()

关于python - wxPython 使用计时器每 x 秒/分钟更新一次 StaticText,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19877132/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com