如何在运行时更改应用程序的 GTK 主题?

如何在运行时更改应用程序的 GTK 主题?

我最近注意到 monodevelop 可以在运行时更改 GTK 主题。如何将其添加到我的快速应用程序中?

答案1

你可以使用Gtk.CssProvidor它来加载 css 文件。例如:

css_provider = Gtk.CssProvider()
css_provider.load_from_file("file_name.css")
screen = Gdk.Screen.get_default()
style_context = window.get_style_context()
style_context.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)

其中“file_name.css”是您要加载的 css 文件(ubuntu 中的主题似乎位于 /usr/share/themes/THEME_NAME/gtk-3.0/),window 是您正在使用的窗口小部件。如果您想从字符串加载 css,您可以css_provider.load_from_data(string_name.encode('UTF-8'))使用css_provider.load_from_file("file_name.css")

资源:

答案2

如果你愿意,你可以看看我的关于 Python、GTK 和 CSS 的博客文章

我尝试写一些关于如何做到这一点的说明(我也将它用于我的快速应用程序)。

相关内容