GtkStyleContext

废弃:4.10 

说明 [src]

class Gtk.StyleContext : GObject.Object
{
  /* No available fields */
}

GtkStyleContext 存储影响小组件的样式信息。

为了构建最终样式信息,GtkStyleContext 从所有已附加 GtkStyleProviders 中查询信息。样式提供器可以通过 gtk_style_context_add_provider() 显式附加到上下文,或通过 gtk_style_context_add_provider_for_display() 附加到显示屏。最终样式是所有提供器信息的组合,按优先顺序排列。

对于 GTK 小组件,通过 gtk_widget_get_style_context() 返回的任何 GtkStyleContext 都将已经设置 GdkDisplayRTL/LTR 信息。如果在小组件上更改了其中任何设置,样式上下文也将自动更新。

样式类

小组件可以向其上下文添加样式类,以便通过类关联不同的样式。各个小组件的文档会列出其自身使用的样式类,以及应用程序可以添加哪些样式类来影响其外观。

UI 库和应用程序中的自定义样式

如果你正在开发一个自定义小组件库,其呈现效果有别于标准组件,则可能需要使用 GTK_STYLE_PROVIDER_PRIORITY_FALLBACK 优先级自行添加 GtkStyleProvider,无论是 GtkCssProvider 还是实现 GtkStyleProvider 接口的自定义对象。这样,如果需要,主题仍然可以尝试用不同的方式设置你的 UI 元素样式。

如果您在应用程序上使用自定义样式,则可能希望让您的样式信息优先于主题的样式信息,因此您必须使用优先级为 `GTK_STYLE_PROVIDER_PRIORITY_APPLICATION` 的 `GtkStyleProvider`,请记住,`XDG_CONFIG_HOME/gtk-4.0/gtk.css` 中的用户设置仍将优先于您的更改,因为它使用 `GTK_STYLE_PROVIDER_PRIORITY_USER` 优先级。

从 4.10 版开始弃用

相关的 API 已移至 GtkWidget (如适用);否则,没有用于查询样式机制的替换。可设置样式的 UI 元素应使用小部件。

层级

hierarchy this GtkStyleContext ancestor_0 GObject ancestor_0--this

祖先

函数

gtk_style_context_add_provider_for_display

向 `display` 添加全局样式提供程序,该提供程序将用于所有 `GtkStyleContexts` 在 `display` 下的样式构建。

gtk_style_context_remove_provider_for_display

从 `display` 中的全局样式提供程序列表中移除 `provider`。

实例方法

gtk_style_context_add_class

向 `context` 添加一个样式类,因此稍后样式上下文的用法将使用此新类进行样式设置。

废弃:4.10 

gtk_style_context_add_provider

向 `context` 添加一个样式提供程序,以用于样式构建。

废弃:4.10 

gtk_style_context_get_border

获取给定状态的边框,作为 `GtkBorder`。

废弃:4.10 

gtk_style_context_get_color

获取给定状态的前景色。

废弃:4.10 

gtk_style_context_get_display

返回 `GdkDisplay`,其中附加了 `context`。

废弃:4.10 

gtk_style_context_get_margin

获取给定状态的边距,作为 `GtkBorder`。

废弃:4.10 

gtk_style_context_get_padding

获取给定状态的内边距,作为 `GtkBorder`。

废弃:4.10 

gtk_style_context_get_scale

返回用于资产的比例。

废弃:4.10 

gtk_style_context_get_state

返回用于样式匹配的状态。

废弃:4.10 

gtk_style_context_has_class

如果 `context` 当前已定义给定的类名,则返回 `TRUE`。

废弃:4.10 

gtk_style_context_lookup_color

在 `context` 颜色映射中查找并解析颜色名称。

废弃:4.10 

gtk_style_context_remove_class

从 `context` 中移除 `class_name`。

废弃:4.10 

gtk_style_context_remove_provider

从 `context` 中的样式提供程序列表中移除 `provider`。

废弃:4.10 

gtk_style_context_restore

将 `context` 状态恢复到之前的阶段。

废弃:4.10 

gtk_style_context_save

保存 `context` 状态。

废弃:4.10 

gtk_style_context_set_display

将 `context` 附加到给定的显示器。

废弃:4.10 

gtk_style_context_set_scale

设置在为样式获取图像资产时要使用的比例。

废弃:4.10 

gtk_style_context_set_state

设置要用于样式匹配的状态。

废弃:4.10 

gtk_style_context_to_string

将样式上下文转换为字符串表示形式。

废弃:4.10 

GObject 继承的方法 (43)

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

属性

Gtk.StyleContext:display

样式上下文的显示。

信号

GObject 继承的信号 (1)
GObject::notify

当对象的属性之一通过 g_object_set_property()、g_object_set() 等函数设置其值时,将发出通知信号。

类结构

struct GtkStyleContextClass {
  GObjectClass parent_class;
  void (* changed) (
    GtkStyleContext* context
  );
  void (* _gtk_reserved1) (
void
  );
  void (* _gtk_reserved2) (
void
  );
  void (* _gtk_reserved3) (
void
  );
  void (* _gtk_reserved4) (
void
  );
  
}

没有可用的描述。

类成员
parent_class: GObjectClass

没有可用的描述。

changed: void (* changed) ( GtkStyleContext* context )

没有可用的描述。

_gtk_reserved1: void (* _gtk_reserved1) ( void )

没有可用的描述。

_gtk_reserved2: void (* _gtk_reserved2) ( void )

没有可用的描述。

_gtk_reserved3: void (* _gtk_reserved3) ( void )

没有可用的描述。

_gtk_reserved4: void (* _gtk_reserved4) ( void )

没有可用的描述。

虚拟方法

Gtk.StyleContextClass.changed
没有可用的描述。