wxpython 显示动态文本
时间: 2023-06-11 22:08:42 浏览: 35
你可以使用 wx.TextCtrl 控件来显示动态文本。下面是一个简单的示例代码:
```
import wx
import time
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="动态文本", size=(400, 300))
panel = wx.Panel(self)
self.text_ctrl = wx.TextCtrl(panel, style=wx.TE_MULTILINE)
btn = wx.Button(panel, label="显示动态文本")
btn.Bind(wx.EVT_BUTTON, self.on_display_text)
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.text_ctrl, 1, wx.EXPAND)
sizer.Add(btn, 0, wx.ALIGN_CENTER)
panel.SetSizer(sizer)
def on_display_text(self, event):
for i in range(1, 11):
self.text_ctrl.AppendText("第 %d 行动态文本\n" % i)
time.sleep(1)
if __name__ == "__main__":
app = wx.App()
frame = MyFrame()
frame.Show()
app.MainLoop()
```
在这个例子中,我们创建了一个 wx.Frame,包含一个 wx.TextCtrl 控件和一个按钮。当用户单击按钮时,我们循环添加一些动态文本到 wx.TextCtrl 控件中,每次添加一行文本,等待一秒钟,然后再添加下一行。注意,为了让文本框支持多行文本,我们设置了 wx.TE_MULTILINE 样式。