wx.ComboBox python 使用案例
时间: 2024-09-20 18:09:26 浏览: 52
`wx.ComboBox` 是 wxPython 库中的一个组件,用于创建下拉列表框,让用户可以从预定义选项中选择一项。以下是使用 `wx.ComboBox` 的一个简单 Python 示例,它会在一个窗口上创建一个组合框,并允许用户选择一个国家名:
```python
import wx
class ComboBoxExample(wx.Frame):
def __init__(self, parent=None):
super().__init__(parent, title="Combobox Example", size=(400, 200))
self.InitUI()
def InitUI(self):
main_sizer = wx.BoxSizer(wx.VERTICAL)
countries_list = ["China", "USA", "Canada", "India", "Germany"]
self.country_combobox = wx.ComboBox(self, choices=countries_list, style=wx.CB_DROPDOWN) # 设置下拉选择模式
self.country_combobox.SetSelection(0) # 初始选中第一个选项
add_item_button = wx.Button(self, label="Add Item", size=(100, -1))
add_item_button.Bind(wx.EVT_BUTTON, self.OnAddItemButton)
main_sizer.Add(self.country_combobox, proportion=1, flag=wx.EXPAND)
main_sizer.Add(add_item_button, flag=wx.CENTER)
self.SetSizer(main_sizer)
self.Fit()
def OnAddItemButton(self, event):
new_country = wx.GetTextFromUser("Enter a new country:", caption="Add Country")
if new_country:
self.country_combobox.Append(new_country)
if __name__ == "__main__":
app = wx.App()
example_frame = ComboBoxExample()
example_frame.Show()
app.MainLoop()
```
在这个案例中,当用户点击“Add Item”按钮时,会弹出一个输入框,用户可以在其中输入新的国家名称,然后将其添加到组合框中。
阅读全文