1

在 pygtk 应用程序中,我使用 rc_parse_string 来调整我的 GUI 的外观。(主要是为了让它在 Windows 下看起来更原生,并为单个小部件设置主题。)例如,这将更改我的应用程序的图标主题:

    gtk.rc_parse_string("""
        gtk-icon-theme-name = "Galaxy"
    """)

这在 Windows 下有效,但仅在 gnome-settings-daemon 未运行时才在 Linux 下有效。如何覆盖 gnome-settings-daemon 的主题设置?(仅在我的应用程序中,无需更改系统范围的设置!)

(顺便说一句,当您尝试通过设置为单个应用程序设置主题时会出现同样的问题GTK2_RC_FILES。它适用于 OpenOffice 等非本机应用程序,但一旦设置守护程序运行,本机 gnome 应用程序就会失败。)

4

1 回答 1

1

我最终发现了如何做到这一点。要覆盖图标主题:

settings = gtk.settings_get_default()
settings.set_string_property("gtk-icon-theme-name", "galaxy", "")

GtkSettings 文档中列出了所有可能的设置。

如果您想将图标主题与您的应用程序打包,请在更改属性之前将脚本目录添加到图标搜索路径:

theme = gtk.icon_theme_get_default()
theme.prepend_search_path(sys.path[0])
于 2010-10-04T10:56:21.347 回答