类
GtkEntry
描述 [src]
class Gtk.Entry : Gtk.Widget
implements Gtk.Accessible, Gtk.Buildable, Gtk.CellEditable, Gtk.ConstraintTarget, Gtk.Editable {
/* No available fields */
}
GtkEntry
是一个单行文本输入小部件。
默认情况下支持相当大一组按键绑定。如果输入的文本比小部件的分配更长,则小部件将滚动,以便光标位置可见。
在针对密码和其他敏感信息使用输入框时,可以使用 gtk_entry_set_visibility()
将其置于“密码模式”。在此模式下,输入的文本使用“不可见”字符显示。默认情况下,GTK 会选择当前字体中可用的最佳不可见字符,但可以通过 gtk_entry_set_invisible_char()
更改该字符。
GtkEntry
有能力在文本后方显示进度或活动信息。要使输入框显示此类信息,请使用 gtk_entry_set_progress_fraction()
或 gtk_entry_set_progress_pulse_step()
。
此外,GtkEntry
可以在条目的任一侧显示图标。这些图标可通过点击激活,可设置为拖放源并且可以具有工具提示。要添加某个图标,请使用 gtk_entry_set_icon_from_gicon()
或其他通过图标名称或可绘图设置图标的各种函数。要在用户点击某个图标时触发某个操作,请连接到 GtkEntry::icon-press
信号。要允许通过某个图标进行 DND 操作,请使用 gtk_entry_set_icon_drag_source()
。要在某个图标上设置工具提示,请使用 gtk_entry_set_icon_tooltip_text()
或对应于标记的函数。
请注意,只能通过点击条目中的某个图标来获得的功能或信息,对于无法使用鼠标或其他指向设备的用户可能根本无法访问。因此,建议还可以通过其他方式来实现此类功能,例如,通过条目的上下文菜单。
CSS 节点
entry[.flat][.warning][.error]
├── text[.readonly]
├── image.left
├── image.right
╰── [progress[.pulse]]
GtkEntry
具有名称为 entry 的主节点。根据条目的属性,样式类 .read-only 和 .flat 可能会出现。样式类 .warning 和 .error 也可用于条目。
当条目显示图标时,它会添加名称为 image 的子节点和样式类为 .left 或 .right,具体取决于图标的出现位置。
当条目显示进度时,它会添加名称为 progress 的子节点。当显示的进度为脉冲时,节点具有样式类 .pulse。
有关在各种情况下添加到文本节点的所有子节点,请参见 GtkText
。
作为 GtkBuildable 的 GtkEntry
GtkEntry
实现的 GtkBuildable
接口支持自定义 <attributes>
元素,它支持任意数量的 <attribute>
元素。<attribute>
元素具有名为“name”、“value”、“start”和“end”的属性,并允许您为此标签指定 PangoAttribute
值。
指定 Pango 属性的 UI 定义片段示例
<object class="GtkEntry">
<attributes>
<attribute name="weight" value="PANGO_WEIGHT_BOLD"/>
<attribute name="background" value="red" start="5" end="10"/>
</attributes>
</object>
start 和 end 属性指定 Pango 属性适用的字元范围。如果未指定 start 和 end,则属性适用于整个文本。请注意,使用可翻译属性时,指定范围并没有太大的意义。请改用嵌入在可翻译内容中的标记。
辅助功能
GtkEntry
使用 GTK_ACCESSIBLE_ROLE_TEXT_BOX
角色。
实例方法
从GtkAccessible继承的方法 (19)
gtk_accessible_announce
要求用户的屏幕阅读器播报给定信息。
since: 4.14
gtk_accessible_get_accessible_parent
检索一个无障碍对象的无障碍父元素。
since: 4.10
gtk_accessible_get_accessible_role
检索一个无障碍对象的无障碍角色。
gtk_accessible_get_at_context
检索给定无障碍对象的实现。
since: 4.10
gtk_accessible_get_bounds
查询此无障碍对象的坐标和尺寸。
since: 4.10
gtk_accessible_get_first_accessible_child
检索一个无障碍对象的第一个无障碍子元素。
since: 4.10
gtk_accessible_get_next_accessible_sibling
检索一个无障碍对象的下一个无障碍同级元素。
since: 4.10
gtk_accessible_get_platform_state
查询平台状态(例如焦点)。
since: 4.10
gtk_accessible_reset_property
重置无障碍属性为默认值。
gtk_accessible_reset_relation
重置无障碍关系为默认值。
gtk_accessible_reset_state
重置无障碍状态为默认值。
gtk_accessible_set_accessible_parent
设置一个无障碍对象的父元素和同级元素。
since: 4.10
gtk_accessible_update_next_accessible_sibling
更新下一个无障碍同级元素。
since: 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
上编辑。
从 GtkEditable(24)继承的方法
如需获取完整方法列表,请参见 GtkEditable。
属性
从 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) 继承的属性
从 GtkEditable (8) 继承的属性
GtkEditable:cursor-position
插入光标的当前位置(以 字符数计)。
GtkEditable:editable
该条目内容是否可 编辑。
GtkEditable:enable-undo
是否应针对可 编辑部分启用撤消/重做。
GtkEditable:max-width-chars
该条目的所需最大宽度(以 字符数计)。
GtkEditable:selection-bound
光标从选择另一端的字符。
GtkEditable:text
输入的内容。
GtkEditable:width-chars
输入中预留的字符数。
GtkEditable:xalign
水平对齐方式,从 0(左)到 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() 等设置其值时,会发出通知信号。
从 GtkCellEditable 继承的信号 (2)
GtkCellEditable::editing-done
此信号是一个标志,指示单元格渲染器从 cell_editable
更新其值。
GtkCellEditable::remove-widget
此信号旨在指示单元格已完成编辑,并且 cell_editable
小部件正在被移除,并且随后可能会被销毁。
从 GtkEditable 继承的信号 (3)
GtkEditable::changed
在内容单一的、用户可见操作结束后发出的。
GtkEditable::delete-text
用户从该小部件中删除文本时发出的。
GtkEditable::insert-text
用户在小部件中插入文本时发出的。
类结构
struct GtkEntryClass {
GtkWidgetClass parent_class;
void (* activate) (
GtkEntry* entry
);
}
GtkEntry
的类结构。所有虚拟函数都有一个默认实现。派生类可以将信号处理程序的虚拟函数指针设置为 NULL
,但必须使 get_text_area_size
和 get_frame_size
保持非 NULL
;要么使用默认实现,要么提供一个自定义实现。
类成员
parent_class: GtkWidgetClass
父类。
activate: void (* activate) ( GtkEntry* entry )
GtkEntry::activate
信号的类处理程序。默认实现会激活 gtk.activate-default 行为。