PyGTK ComboBox类
ComboBox是任何GUI工具包中强大且流行的小部件。它提供了一个下拉列表,用户可以从中选择项目。gtk.ComboBox小部件实现了CellLayout接口,并提供了一些方法来管理项目的显示。
gtk.ComboBox类的对象与ListSore相关联,它是一个可以与显示项目集合的小部件一起使用的列表模型。项目可以使用append()方法添加到ListStore中。此外,还创建了一个CellRendererText对象,并将其打包到组合框中。
按照以下步骤设置组合框。
PyGTK提供了一个便利的方法 – gtk.combo_box_new_text() 来创建一个组合框,而不是使用列表存储。相关的便利方法append_text(),prepend_text(),insert_text()和remove_text()用于管理组合框的内容。
gtk.ComboBox类有以下方法:
序号 | 方法和描述 |
---|---|
1 | set_wrap_width() 设置弹出表格布局中要显示的列数 |
2 | get_active() 返回“active”属性的值,该属性是当前活动项在模型中的索引 |
3 | set_active() 将combo_box的活动项设置为指定模型索引的项 |
4 | set_model() 设置combo box使用的模型 |
5 | append_text() 将指定的字符串text追加到combo box列表存储中存储的字符串列表中 |
6 | Insert_text() 将指定的字符串text插入到combo box的gtk.ListStore中,位置由position指定的索引处 |
7 | prepend_text() 将指定的字符串text前置到列表存储中存储的字符串列表中 |
8 | remove_text() 从关联的列表存储中的指定位置索引处移除字符串 |
9 | get_active_text() 返回当前活动的字符串 |
ComboBox小部件会发出以下信号−
changed | 选择下拉框中的新项目时发出的信号。 |
---|---|
move_active | 发出的按键绑定信号,用于移动活动选择。 |
Popdown | 发出的按键绑定信号,用于关闭下拉框列表。该信号的默认绑定是Alt+向上箭头和Escape键。 |
Popup | 发出的按键绑定信号,用于打开下拉框列表。该信号的默认绑定是Alt+向下箭头。 |
下面是ComboBox的两个示例代码。
示例1
在这个示例中,一个ListStore被填充了流行的Python GUI工具包的名称,并且它与一个ComboBox小部件关联起来。当用户做出选择时,会发出changed信号。它连接到一个回调函数来显示用户的选择。
执行程序后,该程序将显示以下输出:
示例2
程序的第二个版本使用了方便方法 combo_box_new_text() 来创建一个组合框,并使用append_text()函数来在其中添加字符串。在两个程序中,都使用了 get_active_text() 方法来获取用户的选择,并在窗口上的标签上显示。
该程序的输出结果与上一个程序相似。