GtkScale

简介 [src]

class Gtk.Scale : Gtk.Range
  implements Gtk.Accessible, Gtk.AccessibleRange, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable {
  /* No available fields */
}

GtkScale 是一个用于选择数值的滑动控件。

An example GtkScale

若要使用它,您可能需要研究其基类 GtkRange 中的方法,以及 GtkScale 本身的方法。要设置滚动条的值,通常会使用 gtk_range_set_value()。要检测该值的更改,通常会使用 GtkRange::value-changed 信号。

请注意,使用相同的上限值和下限值(通过 GtkRange 方法)将隐藏滑动条本身。这对于希望在滚动条上显示不确定的值但又不想更改应用程序布局(例如电影或音乐播放器)的应用程序非常有用。

作为 GtkBuildable 的 GtkScale

GtkScale 支持自定义 <marks> 元素,其中可以包含多个 <mark\> 元素。“value”和“position”属性的含义与 gtk_scale_add_mark() 的同名参数相同。如果元素不为空,则将其内容视为标记处显示的标记。可以通过通常的“translatable”和“context”属性对其进行转换。

快捷键和手势

GtkPopoverMenu 支持以下键盘快捷键

  • 箭头键、+- 会增大或减小步长,或与 Ctrl 组合后增大或减小页面。
  • PgUpPgDn 会增大或减小页面。
  • HomeEnd 会设置最小值或最大值。

CSS 节点

scale[.fine-tune][.marks-before][.marks-after]
├── [value][.top][.right][.bottom][.left]
├── marks.top
│   ├── mark
│   ┊    ├── [label]
│   ┊    ╰── indicator
┊   ┊
│   ╰── mark
├── marks.bottom
│   ├── mark
│   ┊    ├── indicator
│   ┊    ╰── [label]
┊   ┊
│   ╰── mark
╰── trough
    ├── [fill]
    ├── [highlight]
    ╰── slider

GtkScale 有一个名称为 scale 的 CSS 主节点和一个 name 为 trough 和 slider 的内容子节点。

当滚动条处于“微调”模式时,主节点会添加 .fine-tune 样式类。

如果滚动条有原点(请参阅 gtk_scale_set_has_origin()),则在 trough 节点下方会有一个 name 为 highlight 的子节点,用于渲染 trough 的高亮部分。

如果比例尺显示填充级别(参见 gtk_range_set_show_fill_level()),将有名称为填充的子节点在槽节点下方,它用于渲染槽的填充部分。

如果存在标记,将在槽节点之前或之后出现标记子节点,每个标记将获得一个子节点,名称为标记。标记节点将获得 .top 或 .bottom style 样式类。

标记节点具有一个名为指示符的子节点。如果标记具有文本,它还将具有一个名为标签的子节点。当标记位于刻度的上方或左侧时,标签子节点在出现时是第一个。否则,指示符子节点是第一个。

CSS 节点根据存在哪些标记而获得“marks-before”和/或“marks-after”样式类的添加。

如果比例尺显示值(参见 GtkScale:draw-value),将有子节点以名称值显示。此节点将获得类似于标记节点的 .top 或 .bottom 样式类。

辅助功能

GtkScale 使用 GTK_ACCESSIBLE_ROLE_SLIDER 角色。

层次

hierarchy this GtkScale implements_0 GtkAccessible this--implements_0 implements_1 GtkAccessibleRange this--implements_1 implements_2 GtkBuildable this--implements_2 implements_3 GtkConstraintTarget this--implements_3 implements_4 GtkOrientable this--implements_4 ancestor_0 GtkRange ancestor_0--this ancestor_1 GtkWidget ancestor_1--ancestor_0 ancestor_2 GInitiallyUnowned ancestor_2--ancestor_1 ancestor_3 GObject ancestor_3--ancestor_2

构造函数

gtk_scale_new

创建一个新的 GtkScale

gtk_scale_new_with_range

创建范围从 minmax 的新比例尺小部件。

实例方法

gtk_scale_add_mark

value 处添加一个标记。

gtk_scale_clear_marks

移除已添加的任何 标记。

gtk_scale_get_digits

获取值中显示的小数位数。

gtk_scale_get_draw_value

返回当前值是否作为滑块旁边的字符串显示。

gtk_scale_get_has_origin

返回比例尺是否具有 原点。

gtk_scale_get_layout

获取用于显示 比例尺的 PangoLayout

gtk_scale_get_layout_offsets

获取比例尺绘制表示比例尺中的文本的 PangoLayout 的坐标。

gtk_scale_get_value_pos

获取显示当前值的位置。

gtk_scale_set_digits

设置值中显示的小数位数。

gtk_scale_set_draw_value

指定当前值是否作为滑块旁边的字符串显示。

gtk_scale_set_format_value_func

func 允许你更改显示比例尺值的方式。

gtk_scale_set_has_origin

设置比例尺是否具有 原点。

gtk_scale_set_value_pos

设置显示当前值的位置。

方法继承自 GtkRange (22)
gtk_range_get_adjustment

获取作为 GtkRange 的“模型”对象的调整。

gtk_range_get_fill_level

获取填充级别 指示器的当前位置。

gtk_range_get_flippable

获取 GtkRange 是否尊重文本 方向。

gtk_range_get_inverted

获取范围是否 反转。

gtk_range_get_range_rect

此函数返回包含范围槽的区域,其坐标相对于 range 的 起点。

gtk_range_get_restrict_to_fill_level

获取范围是否限制在填充 级别。

gtk_range_get_round_digits

当值发生改变时,获取将值舍入到的位数。

gtk_range_get_show_fill_level

获取范围是否以图形方式显示填充级别。

gtk_range_get_slider_range

此函数返回沿长维度的滑块范围,以小部件->窗口坐标为单位。

gtk_range_get_slider_size_fixed

此函数主要对 GtkRange 子类有用。

gtk_range_get_value

获取范围的当前值。

gtk_range_set_adjustment

设置要作为 GtkRange 的“模型”对象使用的调整项。

gtk_range_set_fill_level

设置填充级别指示符的新位置。

gtk_range_set_flippable

设置 GtkRange 是否尊重文本方向。

gtk_range_set_increments

设置范围的步长和页面大小。

gtk_range_set_inverted

设置是否反转范围。

gtk_range_set_range

设置 GtkRange 中允许的值。

gtk_range_set_restrict_to_fill_level

设置是否将滑块限制在填充级别。

gtk_range_set_round_digits

当值发生改变时,设置将值舍入到的位数。

gtk_range_set_show_fill_level

设置是否在凹槽上显示图形填充级别。

gtk_range_set_slider_size_fixed

设置范围的滑块是否具有固定大小,或具有取决于其调整大小的页面大小。

gtk_range_set_value

设置范围的当前值。

GtkWidget 继承的方法 (162)

请参阅 GtkWidget 以获取完整的方法列表。

GObject 继承的方法 (43)

请参阅 GObject 以获取完整的方法列表。

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)
gtk_buildable_get_buildable_id

获取 buildable 对象的 ID

GtkOrientable 继承的方法(2)
gtk_orientable_get_orientation

检索 orientable 的方向。

gtk_orientable_set_orientation

设置 orientable 的方向。

属性

Gtk.Scale:digits

在“value”中显示的小数位数。

Gtk.Scale:draw-value

当前值是否以滑块旁边的字符串形式显示。

Gtk.Scale:has-origin

比例尺是否有原点。

Gtk.Scale:value-pos

显示当前值的“位置”。

GtkRange 继承的属性(6)
Gtk.Range:adjustment

“范围”控制的调整。

Gtk.Range:fill-level

填充级别(例如,网络流的预缓冲)。

Gtk.Range:inverted

如果为 TRUE,滑块移动方向“反转”。

Gtk.Range:restrict-to-fill-level

控制是否将滑块移动限制在上边界,上限由填充级别设置。

Gtk.Range:round-digits

当值更改时的舍入位数。

Gtk.Range:show-fill-level

控制是否在凹槽上显示填充级别指示器图形。

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

启用或禁用 widgetGtkWidget::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

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

Gtk.Widget:tooltip-text

Sets the text of tooltip to be the given string.

Gtk.Widget:valign

How to distribute vertical space if widget gets extra space.

Gtk.Widget:vexpand

Whether to expand vertically.

Gtk.Widget:vexpand-set

Whether to use the vexpand property.

Gtk.Widget:visible

Whether the widget is visible.

Gtk.Widget:width-request

Overrides for width request of the widget.

GtkAccessible(1)继承的属性
GtkAccessible:accessible-role

给定 GtkAccessible 的实现的可访问角色。

GtkOrientable(1)继承的属性
GtkOrientable:orientation

orientable 的方向。

信号

GtkRange(4)继承的信号
GtkRange::adjust-bounds

Emitted before clamping a value, to give the application a chance to adjust the bounds.

GtkRange::change-value

range 上执行滚动操作时发出。

GtkRange::move-slider

Virtual function that moves the slider.

GtkRange::value-changed

Emitted when the range value changes.

GtkWidget(13)继承的信号
GtkWidget::destroy

Signals that all holders of a reference to the widget should release the reference that they hold.

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 信号。

类结构

struct GtkScaleClass {
  GtkRangeClass parent_class;
  void (* get_layout_offsets) (
    GtkScale* scale,
    int* x,
    int* y
  );
  
}

暂无描述。

类成员
parent_class: GtkRangeClass

暂无描述。

get_layout_offsets: void (* get_layout_offsets) ( GtkScale* scale, int* x, int* y )

暂无描述。

虚拟方法

Gtk.ScaleClass.get_layout_offsets

获取比例尺绘制表示比例尺中的文本的 PangoLayout 的坐标。