wxpython 创建可输入文本框 并获取文本框里的信息?
时间: 2024-09-09 20:07:31 浏览: 66
在wxPython中创建可输入文本框并获取文本框里的信息,你需要使用`wx.TextCtrl`控件。`wx.TextCtrl`是一个单行或多行文本输入控件,允许用户输入和编辑文本。以下是一个简单的例子,展示了如何创建一个单行文本框,并在用户点击按钮时获取文本框中的信息。
```python
import wx
class MyFrame(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, size=(250,150))
self.panel = wx.Panel(self, -1)
self.txt = wx.TextCtrl(self.panel, -1, "", pos=(50,20), size=(150,25))
self.btn = wx.Button(self.panel, -1, "获取文本", pos=(50,50), size=(150,25))
self.btn.Bind(wx.EVT_BUTTON, self.OnBtn)
def OnBtn(self, event):
text = self.txt.GetValue() # 获取文本框的内容
wx.MessageBox(text, "文本内容", wx.OK | wx.ICON_INFORMATION)
event.Skip() # 处理事件
app = wx.App()
frame = MyFrame(None, -1, "wxPython 示例")
frame.Show()
app.MainLoop()
```
在这个例子中,我们首先导入了`wx`模块,并定义了一个`MyFrame`类继承自`wx.Frame`。在`MyFrame`的构造函数中,我们创建了一个文本框`self.txt`和一个按钮`self.btn`。按钮绑定了一个事件处理函数`OnBtn`,当用户点击按钮时会触发这个函数。
`OnBtn`函数中,通过调用`self.txt.GetValue()`方法获取文本框里的内容,并通过一个消息框显示出来。
阅读全文