wxpython可以获取超级列表框中的数据吗
时间: 2023-08-15 13:04:38 浏览: 244
两个超级列表框取相同数据
可以的,你可以使用 wxPython 中的 wx.ListBox 控件来创建超级列表框,并通过调用 GetSelection() 或 GetSelections() 方法来获取选中的数据。以下是一个示例代码:
```python
import wx
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, title="Super Listbox Example")
# 创建超级列表框
self.listbox = wx.ListBox(self, choices=["Item 1", "Item 2", "Item 3"], style=wx.LB_MULTIPLE)
# 创建按钮
self.button = wx.Button(self, label="Get Selected Items")
self.button.Bind(wx.EVT_BUTTON, self.on_button_click)
# 创建垂直布局
vbox = wx.BoxSizer(wx.VERTICAL)
vbox.Add(self.listbox, proportion=1, flag=wx.EXPAND|wx.ALL, border=10)
vbox.Add(self.button, flag=wx.ALIGN_CENTER|wx.ALL, border=10)
self.SetSizer(vbox)
self.Fit()
def on_button_click(self, event):
# 获取选中的数据
selection = self.listbox.GetSelections()
# 打印选中的数据
for index in selection:
print(self.listbox.GetString(index))
app = wx.App()
frame = MyFrame()
frame.Show()
app.MainLoop()
```
这个示例代码创建了一个带有超级列表框和一个按钮的窗口。当点击按钮时,会调用 on_button_click() 方法来获取选中的数据,并将其打印出来。你可以根据实际需求对代码进行修改和扩展。
阅读全文