سؤال

في تطبيق PYGTK ، أستخدم RC_PARSE_STRING لضبط ظهور واجهة المستخدم الرسومية. (في الغالب لجعلها تبدو أكثر أصليًا تحت Windows ، وللتعرف على الأدوات الفردية.) هذا ، على سبيل المثال ، سيغير موضوع الأيقونة لتطبيقي:

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

يعمل هذا تحت Windows ، لكنه يعمل فقط تحت Linux عندما لا يتم تشغيل Gnome-Settings-Daemon. كيف يمكنني تجاوز إعدادات السمة التي أدخلتها Gnome-Settings-Daemon؟ (في طلبي فقط ، دون تغيير الإعدادات على مستوى النظام!)

(بالمناسبة ، تحدث نفس المشكلة عندما تحاول موضوع تطبيق تطبيق فردي عن طريق الإعداد GTK2_RC_FILES. إنه يعمل مع التطبيقات غير الأصلية مثل OpenOffice ، لكنه يفشل في تطبيقات Gnome الأصلية بمجرد تشغيل Settings Daemon.)

هل كانت مفيدة؟

المحلول

اكتشفت في النهاية كيفية القيام بذلك. لتجاوز موضوع الأيقونة:

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])
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top