类
GtkComboBox
已弃用:4.10
说明 [源代码]
class Gtk.ComboBox : Gtk.Widget
implements Gtk.Accessible, Gtk.Buildable, Gtk.CellEditable, Gtk.CellLayout, Gtk.ConstraintTarget {
/* No available fields */
}
GtkComboBox
是一款允许用户从有效选项列表中进行选择的小工具。
GtkComboBox
会显示选定的选项;激活时,GtkComboBox
会显示一个允许用户进行新选择的弹出窗口。
GtkComboBox
使用模型-视图模式;有效选项列表以树模型的形式指定,并且可以通过使用单元格渲染器来调整选项的显示,以便适应模型中的数据,就像在树视图中所做的那样。这是可能的,因为 GtkComboBox
实现了 GtkCellLayout
接口。包含有效选项的树模型并不仅限于一个平面列表,它可以是一个真正的树,并且弹出窗口将反映树状结构。
为了允许用户输入模型中没有的值,GtkComboBox:has-entry
属性允许 GtkComboBox
包含 GtkEntry
。可以通过在组合框上调用 gtk_combo_box_get_child()
来访问此条目。
对于文本选择的一个简单列表,GtkComboBox
的模型-视图API可能会有些繁琐。在这种情况下,GtkComboBoxText
提供了简单的替代方案。GtkComboBox
和GtkComboBoxText
都可以包含一个条目。
CSS 节点
combobox
├── box.linked
│ ╰── button.combo
│ ╰── box
│ ├── cellview
│ ╰── arrow
╰── window.popup
标准组合框包含一个类为.linked的盒子,一个类为.combo的按钮,并且在这些按钮中,有一个单元格视图和一个箭头。
combobox
├── box.linked
│ ├── entry.combo
│ ╰── button.combo
│ ╰── box
│ ╰── arrow
╰── window.popup
带有条目的GtkComboBox
有一个名称为combobox的单个CSS节点。它包含一个类为.linked的盒子。该盒子包含一个条目和一个按钮,均添加了类.combo。按钮还包含另一个节点,名称为箭头。
辅助功能
GtkComboBox
使用GTK_ACCESSIBLE_ROLE_COMBO_BOX
角色。
已弃用:4.10
改为使用GtkDropDown
。
实例方法
从 GtkAccessible (19) 继承的方法
gtk_accessible_announce
请求用户的屏幕阅读器播报给定的信息。
自 4.14 起
gtk_accessible_get_accessible_parent
检索可访问对象的辅助父级。
自 4.10 起
gtk_accessible_get_accessible_role
检索可访问对象的辅助角色。
gtk_accessible_get_at_context
检索给定辅助对象的实现。
自 4.10 起
gtk_accessible_get_bounds
查询此可访问对象的坐标和尺寸。
自 4.10 起
gtk_accessible_get_first_accessible_child
检索可访问对象的第一个可访问子级。
自 4.10 起
gtk_accessible_get_next_accessible_sibling
检索可访问对象的下一个可访问同级。
自 4.10 起
gtk_accessible_get_platform_state
查询平台状态,如焦点。
自 4.10 起
gtk_accessible_reset_property
将可访问属性重置为其默认值。
gtk_accessible_reset_relation
将可访问关系重置为其默认值。
gtk_accessible_reset_state
将可访问状态重置为其默认值。
gtk_accessible_set_accessible_parent
设置可访问对象的父级和同级。
自 4.10 起
gtk_accessible_update_next_accessible_sibling
更新下一个可访问同级。
自 4.10 起
gtk_accessible_update_property
更新可访问属性列表。
gtk_accessible_update_property_value
更新可访问属性数组。
gtk_accessible_update_relation
更新可访问关系列表。
gtk_accessible_update_relation_value
更新可访问关系数组。
gtk_accessible_update_state
更新可访问状态列表。
gtk_accessible_update_state_value
更新可访问状态数组。
从 GtkBuildable (1) 继承的方法
从 GtkCellEditable (3) 继承的方法
gtk_cell_editable_editing_done
发出 GtkCellEditable::editing-done
信号。
已弃用:4.10
gtk_cell_editable_remove_widget
发出 GtkCellEditable::remove-widget
信号。
已弃用:4.10
gtk_cell_editable_start_editing
开始编辑 cell_editable
。
从 GtkCellLayout (10) 继承的方法
gtk_cell_layout_add_attribute
将属性映射添加到 cell_layout
中的列表。
已弃用:4.10
gtk_cell_layout_clear
取消 cell_layout
上所有渲染器上的所有映射,并从 cell_layout
中删除所有渲染器。
已弃用:4.10
gtk_cell_layout_clear_attributes
清除先前使用 gtk_cell_layout_set_attributes() 设置的所有现有属性。
已弃用:4.10
gtk_cell_layout_get_area
返回基础 GtkCellArea
,该 GtkCellArea
如果在 GtkCellArea
上调用可能是 cell_layout
,或者如果 cell_layout
不使用 GtkCellArea
,则可能是 NULL
。
已弃用:4.10
gtk_cell_layout_get_cells
返回已添加到 cell_layout
的单元格渲染器。
已弃用:4.10
gtk_cell_layout_pack_end
将 cell
添加到 cell_layout
的末尾。如果 expand
为 FALSE
,则 cell
分配的空间不超过其需要。任何未使用空间将平均分配给 expand
为 TRUE
的单元格。
已弃用:4.10
gtk_cell_layout_pack_start
将 cell
打包到 cell_layout
的开头。如果 expand
为 FALSE
,则 cell
分配的空间不超过其需要。任何未使用空间将平均分配给 expand
为 TRUE
的单元格。
已弃用:4.10
gtk_cell_layout_reorder
将 cell
重新插入 position
。
已弃用:4.10
gtk_cell_layout_set_attributes
将参数列表中的属性设置为 cell_layout
的属性。
已弃用:4.10
gtk_cell_layout_set_cell_data_func
设置要用于 cell_layout
的 GtkCellLayout
DataFunc。
已弃用:4.10
属性
从 GtkWidget (34) 继承的属性
Gtk.Widget:can-focus
小组件或其任何后代是否可以接受输入焦点。
Gtk.Widget:can-target
小组件是否可以接收指针事件。
Gtk.Widget:css-classes
应用于此小组件的 css 类列表。
Gtk.Widget:css-name
此小组件在 CSS 树中的名称。
Gtk.Widget:cursor
由 widget
使用的光标。
Gtk.Widget:focus-on-click
小组件是否应该在用鼠标单击时获取焦点。
Gtk.Widget:focusable
此小组件本身是否将接受输入焦点。
Gtk.Widget:halign
当小组件获取额外的空间时如何分配水平空间。
Gtk.Widget:has-default
小组件是否是默认小组件。
Gtk.Widget:has-focus
小组件是否具有输入焦点。
Gtk.Widget:has-tooltip
启用或禁用在 widget
上发送 GtkWidget::query-tooltip
信号。
Gtk.Widget:height-request
小组件高度请求的替代方法。
Gtk.Widget:hexpand
是否水平展开。
Gtk.Widget:hexpand-set
是否使用 hexpand
属性。
Gtk.Widget:layout-manager
用于计算小组件首选大小并分配其子小组件的 GtkLayoutManager
实例。
Gtk.Widget:margin-bottom
小组件底部的边距。
Gtk.Widget:margin-end
小组件末尾的边距,水平方向。
Gtk.Widget:margin-start
小组件开始处的边距,水平方向。
Gtk.Widget:margin-top
小组件顶部的边距。
Gtk.Widget:name
小组件的名称。
Gtk.Widget:opacity
小组件的请求不透明度。
Gtk.Widget:overflow
小组件内容区域外部的内容如何处理。
Gtk.Widget:parent
此小组件的父小组件。
Gtk.Widget:receives-default
小部件在获得焦点时是否将接收默认操作。
Gtk.Widget:root
包含此小部件的小部件树的 GtkRoot
小部件。
Gtk.Widget:scale-factor
小部件的缩放比例。
Gtk.Widget:sensitive
小部件是否响应输入。
Gtk.Widget:tooltip-markup
将工具提示的文本设置为给定的字符串,用 Pango 标记标记。
Gtk.Widget:tooltip-text
将工具提示的文本设置为给定的字符串。
Gtk.Widget:valign
如果小部件获得额外的空间,如何分配垂直空间。
Gtk.Widget:vexpand
是否垂直展开。
Gtk.Widget:vexpand-set
是否使用 vexpand
属性。
Gtk.Widget:visible
小部件是否可见。
Gtk.Widget:width-request
覆盖小部件的宽度请求。
从 GtkAccessible(1)继承的属性
从 GtkCellEditable(1)继承的属性
信号
从 GtkWidget(13)继承的信号
GtkWidget::destroy
表示小部件引用持有者应释放他们持有的引用的信号。
GtkWidget::direction-changed
当小部件的文本方向发生变化时发出。
GtkWidget::hide
当 widget
隐藏时发出。
GtkWidget::keynav-failed
如果键盘导航失败,则发出。
GtkWidget::map
当 widget
将要被映射时发出。
GtkWidget::mnemonic-activate
当小部件通过助记符激活时发出。
GtkWidget::move-focus
当焦点移动时发出。
GtkWidget::query-tooltip
当小部件的工具提示即将显示时发出。
GtkWidget::realize
当 widget
与 GdkSurface
关联时发出。
GtkWidget::show
当 widget
显示时发出。
GtkWidget::state-flags-changed
当小部件状态发生变化时发出。
GtkWidget::unmap
当 widget
即将被解除映射时发出。
GtkWidget::unrealize
当与 widget
关联的 GdkSurface
被销毁时发出。
从 GObject(1)继承的信号
GObject::notify
当对象的某个属性通过 g_object_set_property()、g_object_set() 等设置其值时,该对象上会发出 notify 信号。
从 GtkCellEditable(2)继承的信号
GtkCellEditable::editing-done
该信号是指示单元格渲染器从 cell_editable
更新其值的标志。
GtkCellEditable::remove-widget
该信号表示单元格完成编辑,cell_editable
小部件正在被移除,随后可能会被销毁。
类结构
struct GtkComboBoxClass {
GtkWidgetClass parent_class;
void (* changed) (
GtkComboBox* combo_box
);
char* (* format_entry_text) (
GtkComboBox* combo_box,
const char* path
);
void (* activate) (
GtkComboBox* combo_box
);
}
没有可用的描述。
类成员
parent_class: GtkWidgetClass
父类。
changed: void (* changed) ( GtkComboBox* combo_box )
在活动项发生变化时发出信号。
format_entry_text: char* (* format_entry_text) ( GtkComboBox* combo_box, const char* path )
允许您更改下拉框中的文本如何显示的信号。
activate: void (* activate) ( GtkComboBox* combo_box )
没有可用的描述。