GTK+ 实例教程/主题
本页旨在为在 Linux 和 Windows 上为 GTK+ 创建和修改主题提供指南。
自定义 GTK+ 应用程序的外观涉及修改 RC 文件,通常称为 gtkrc
。
一些 Gtk 应用程序可能有很多 rc 文件。这些是初始化文件,通常从应用程序的首选项对话框修改。GTKRC 文件是纯文本文件,保存为 "gtkrc",没有扩展名。有关 GTK+ rc 文件格式的更多信息,请访问 http://library.gnome.org/devel/gtk-tutorial/stable/c2111.html 本指南将集中讨论用于调整应用程序外观和感觉的一个文件。
GTK+ rc 文件可以包含 4 个主要部分
- 风格声明 - 项目如何在屏幕上绘制,
- 类声明 - 将风格分配给类,
- 小部件声明 - 将风格分配给小部件,
- Widget_class 声明 - 通过类名将风格分配给特定小部件。
所有 GTK+ 程序都由小部件组成,每个小部件都有几个属性或标志可以设置
- fg - 修改小部件的前景,
- bg - 修改小部件的背景,
- base - 小部件的可编辑、树或列表背景,
- bg_pixmap - 将图像分配给小部件的背景,
- font - 更改字体属性。
并且这些中的每一个都可能有多个状态
- [NORMAL] - 小部件的正常状态,
- [PRELIGHT] - 当鼠标光标悬停在小部件上时(按钮及其子类使用此方法),
- [ACTIVE] - 对于活动的小部件,例如选定的选项卡和滚动条,
- [INSENSITIVE] - 禁用的小部件,
- [SELECTED] - 小部件中突出显示的对象,例如文本。
可以使用 3 种不同的方法之一设置这些颜色
- GTK+ 字符串 - 这是一个介于 0 和 1 之间的数字,
- 十六进制 - 与某些网站相同,值以这种方式设置 - #000000,可以是 00 到 ff 之间的任何值,
- RGB - 这是一个介于 0 和 256 之间的任何数字,例如 256 256 256,
要调整小部件的属性,您需要先定义一个风格。
风格声明可能看起来像这样:-
style "default" { font = "-*-helvetica-medium-r-normal--*-120-*-*-*-*-*-*" fg[NORMAL] = "#000000" fg[PRELIGHT] = "#000000" fg[ACTIVE] = "#000000" fg[SELECTED] = "#000000" fg[INSENSITIVE] = "#999999" }
第一行是风格声明,此行定义了一个新的风格并将其称为默认(当然,它可以被调用为任何您想要的名字)。以下几行是实际的风格。但是,为了应用它,它需要被分配给一个 GTK+ 小部件。
GTK 系统中有很多小部件,但为了便于本教程,我们将定位最顶层的父小部件,称为 - widget_class "GtkWindow",所有其他小部件都将从它获取风格。要将风格分配给小部件,可以使用
widget_class "GtkWindow" style "window"
这指示名为 "GtkWindow" 的小部件使用 "window" 风格。
当上面的代码被复制到 gtkrc 文件中,并与
widget_class "GtkWindow" style "default"
一起保存到 "theme" 文件夹中时,下次启动或重新启动 GTKApplication 时应该会注意到差异。
要在主题中包含图像,您需要创建这些图像并将其保存在与先前创建的 gtkrc 文件相同的文件夹中。保存好之后,您需要编辑该文件来使用图像。
style "Button" { bg_pixmap[NORMAL] = "warning.xpm" }
这是一个使用图像的示例(请注意,您需要在 GIMP 中创建 warning.xpm 才能使其生效)。