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 に答える