我想用Python的wxPython库在一个label标签中新增5行数据,每秒钟新增一行,请帮我写代码
时间: 2024-06-10 13:06:40 浏览: 122
好的,以下是Python代码片段,可以在wxPython的label标签中每秒钟新增一行数据:
```
import wx
import time
class MyFrame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, title="Label Example", size=(400,400))
panel = wx.Panel(self, -1)
vbox = wx.BoxSizer(wx.VERTICAL)
label = wx.StaticText(panel, -1, "Example")
vbox.Add(label, 0, wx.ALIGN_LEFT|wx.ALL, 5)
self.status = wx.StaticText(panel, -1, "")
vbox.Add(self.status, 0, wx.ALIGN_LEFT|wx.ALL, 5)
panel.SetSizer(vbox)
self.timer = wx.Timer(self)
self.Bind(wx.EVT_TIMER, self.OnTimer, self.timer)
self.timer.Start(1000)
def OnTimer(self, event):
self.status.SetLabel(time.strftime("%H:%M:%S"))
# Add new line to the label
label_text = self.status.GetLabel() + "\nNew line " + str(self.timer.GetInterval()//1000)
self.status.SetLabel(label_text)
app = wx.App(False)
frame = MyFrame(None)
frame.Show()
app.MainLoop()
```
每秒钟,程序会在label标签中新增一行数据,第一行是"Example",之后每行都会增加"New line i"的文本,其中"i"是从1开始的计数器。您可以根据需要修改代码来适应您的需求。希望对您有所帮助!
阅读全文