GTK +特定应用皮肤可能吗?

时间:2010-10-18 05:35:26

标签: gtk vala

我已经开始使用GTK +和Vala,并且很难找到有关创建自定义按钮(全新外观按钮)的文档。事实上,现在我想起来,每个GTK +应用程序都有这样一个独特的外观,它给出了它是一个GTK +应用程序。如果我决定使用GTK +,难以为我的应用程序创建一个全新的外观吗?

4 个答案:

答案 0 :(得分:2)

这是故意的,因为“那种不同的GTK外观”是重点。 GTK应用程序通常对可用性,可访问性和用户体验非常重视。作为应用程序的程序员,您应该专注于应用程序的内容,并让用户选择他们喜欢的主题。如果您制作自定义按钮,则它们可能太窄而无法适合使用您的应用程序的用户使用其他语言的翻译标签。或者也许你的自定义按钮在某人首选的窗口背景颜色上看起来非常糟糕。

答案 1 :(得分:2)

RC代码已替换为gtk + 3。它现在支持样式的CSS,这可能会给你你需要的东西。

http://developer.gnome.org/gtk3/3.1/gtk-migrating-GtkStyleContext.html

http://thegnomejournal.wordpress.com/2011/03/15/styling-gtk-with-css/

h te te p://kalmbach.wordpress.com/2011/03/12/gtk-3-0-client-side-theme/

答案 2 :(得分:1)

您可以使用GTK2_RC_FILES环境变量为(仅)您的应用程序指定一个特殊主题。

例如,您可以像这样创建批处理启动程序(Windows):

set GTK2_RC_FILES=%GTK_HOME%\share\themes\slickness-black\gtk-2.0\gtkrc
launch.exe

或者在Linux中(还没试过那个):

env GTK2_RC_FILES=/usr/share/themes/slickness-black/gtk-2.0/gtkrc ./launch

提示:不要相信GTK_HOME被设置,而是使用GTK +安装的绝对路径。如果在应用程序中安装特殊主题,则可以使用相对路径(相对于应用程序的安装路径)。然后你应该确保主题是由一个最常见的主题引擎支持,因为通常不会安装所有这些主题(特别是在Windows上,GTK安装程序很乱)。

答案 3 :(得分:1)

@gtksharp:

string fileName = @"/usr/valapp/gtkrc3"; Gtk.Rc.AddDefaultFile(fileName); Gtk.Rc.Parse(fileName);