wxPython – ComboBox和选择类
一个 wx.ComboBox 对象展示了一个可供选择的项目列表。它可以被配置为一个下拉列表或永久显示。
从列表中选择的项目显示在一个文本字段中,该字段默认是可编辑的,但在有wx.CB_READONLY样式参数的情况下可以设置为只读。
wxPython API包含一个 wx.Choice类 ,其对象也是一个下拉列表,它是永久只读的。
wx.ComboBox类构造函数使用的参数是—
值参数是要在组合框的文本框中显示的文本。它是由options[]集合中的项目填充的。
以下是为wx.ComboBox定义的样式参数-
S.N. | 参数和描述 |
---|---|
1 | wx.CB_SIMPLE 组合框具有永久显示的列表。 |
2 | wx.CB_DROPDOWN 带下拉列表的组合框 |
3 | wx.CB_READONLY 所选项目不可编辑 |
4 | wx.CB_SORT 列表按字母顺序显示 |
下表显示了wx.ComboBox类的常用方法。
下面给出的是wx.ComboBox最常用的方法 S.N. | 方法和描述 |
---|---|
1 | GetCurrentSelection () 返回正在选择的项目 |
2 | SetSelection() 将给定索引处的项目设置为选中的项目。 |
3 | GetString() 返回与给定索引处的项目相关的字符串。 |
4 | SetString() 改变给定索引处的项目的文本。 |
5 | SetValue() 设置一个字符串作为组合框编辑栏中显示的文本。 |
6 | GetValue() 返回组合框中文本字段的内容 |
7 | FindString() 在列表中搜索给定的字符串 |
8 | GetStringSelection() 获取当前所选项目的文本 |
由该类产生的事件的事件夹是这样的 −
S.N. | 事件与描述 |
---|---|
1 | wx.COMBOBOX 当列表中的项目被选中时 |
2 | wx.EVT_TEXT 当组合框文本发生变化时 |
3 | wx.EVT_COMBOBOX_DROPDOWN 当列表下拉时 |
4 | wx.EVT_COMBOBOX_CLOSEUP 当列表折叠起来时 |
wx.Choice类的构造函数原型如下
参数’n’代表选择列表要被初始化的字符串数量。像comboBox一样,该列表是由options[]集合中的项目填充的。
对于选择类,只有一个样式参数被定义。它是wx.CB_SORT。只有一个事件绑定器处理这个类所发出的事件。它是wx.EVT_CHOICE。
例子
这个例子显示了wx.ComboBox和wx.Choice的特性。这两个对象都被放在一个垂直的框选器中。列表是由languages[] List对象中的项目填充的。
事件绑定器EVT_COMBOBOX和EVT_CHOICE对其处理相应的事件。
以下处理函数在标签上显示从列表中选择的项目。
完整的代码列表如下-
上述代码产生的输出结果如下 –