wxpython 实现用botton点击,使grid控件新增行,并把几个textCtrl值输入给该行
时间: 2024-02-13 17:02:31 浏览: 35
好的,可以使用wxPython中的GridSizer和Button控件来实现这个功能。首先,创建一个GridSizer并将其添加到窗口中。然后,创建一个Button控件并将其绑定到一个函数上,该函数将在点击按钮时被调用。在该函数中,您可以向GridSizer添加一个新的行,然后将要添加的文本值插入到每个新的单元格中。以下是一个示例代码:
``` python
import wx
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Grid Example")
# 创建一个GridSizer
self.grid = wx.GridSizer(0, 3, 5, 5)
# 添加初始行
self.addRow()
# 添加一个按钮
self.button = wx.Button(self, wx.ID_ANY, "Add Row")
self.button.Bind(wx.EVT_BUTTON, self.onAddRow)
# 创建窗口布局
sizer = wx.BoxSizer(wx.VERTICAL)
sizer.Add(self.grid, 0, wx.ALL, 5)
sizer.Add(self.button, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)
self.SetSizer(sizer)
self.Layout()
# 添加新行
def addRow(self):
# 创建三个文本框
textCtrl1 = wx.TextCtrl(self, wx.ID_ANY)
textCtrl2 = wx.TextCtrl(self, wx.ID_ANY)
textCtrl3 = wx.TextCtrl(self, wx.ID_ANY)
# 将文本框添加到新行中
self.grid.Add(textCtrl1, 0, wx.ALL, 5)
self.grid.Add(textCtrl2, 0, wx.ALL, 5)
self.grid.Add(textCtrl3, 0, wx.ALL, 5)
# 更新窗口布局
self.Layout()
# 点击按钮时调用的函数
def onAddRow(self, event):
self.addRow()
if __name__ == "__main__":
app = wx.App(False)
frame = MyFrame()
frame.Show(True)
app.MainLoop()
```
运行此代码,您将看到一个初始行和一个添加行的按钮。每次单击按钮时,将添加一个新行,并将三个文本框添加到该行中。您可以在这些文本框中输入值,并将这些值添加到新行中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)