Manjaro Other
   4042

[РЕШЕНО] Слетело оформление qt приложений

Сегодня после пачки обновлений некоторые кде'шные приложения стали выглядеть крайне уныло — аля Windows 95.
hostingkartinok.com/show-image.php?id=5f8b238a36bf4d38d011c2a580b9c0cc
hostingkartinok.com/show-image.php?id=02ed6d006ed2a7b80d054caeb52ac9b5
До обновления было всё красиво. Стоит Manjaro Cinnamon. Куда копать?

11 комментариев

avatar
1. Установите qt5-styleplugins и qt5ct.
2. Установите в /etc/environment переменную окружения QT_QPA_PLATFORMTHEME=qt5ct.
3. Перезагрузите систему.
4. Запустите qt5ct и выберите стиль gtk2.
5. Повторите пункт 4 от root.

P.S. Если будет происходить крах qt5ct при выборе gtk2, то тогда, как выяснил Esdeath, может помочь добавление в /etc/environment строчки QT_STYLE_OVERRIDE=gtk2
Последний раз редактировалось
+3
avatar
Спасибо за ответ. Только почему-то шрифты в приложениях стали огромные. Вот сравнение:
hostingkartinok.com/show-image.php?id=895366af8e7b8e911ef4b91c93064ca8
А в утилите qt5ct размер шрифта не изменяется?
0
avatar
Пардон, нашел.
0
avatar
Ай, маладца! Это работает. Спасибо.
?
Правильные ответы начинаются с правильных вопросов.
0
avatar
А у меня вылетает при выборе gtk2
Вот что пишет
(qt5ct:1740): GLib-GObject-WARNING **: cannot register existing type 'GdkDisplayManager'

(qt5ct:1740): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(qt5ct:1740): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed

(qt5ct:1740): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(qt5ct:1740): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(qt5ct:1740): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(qt5ct:1740): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(qt5ct:1740): GLib-GObject-WARNING **: cannot register existing type 'GdkDisplay'

(qt5ct:1740): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(qt5ct:1740): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed

(qt5ct:1740): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(qt5ct:1740): GLib-GObject-CRITICAL **: g_object_new: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
Ошибка сегментирования (core dumped)
0
avatar
Во втором сообщении во втором пункте решения проблемы допущена небольшая ошибка. Нужно писать не /etc/enviroment а /etc/environment. Возможно из-за этого и возникает Ваша ошибка.
0
avatar
Нет, не из-за этого. Я вспомнил про wiki.manjaro и сделал все по этому гайду — wiki.manjaro.org/index.php?title=Set_all_Qt_app%27s_to_use_GTK%2B_font_%26_theme_settings
Все заработало. Нужно было дописать строчку QT_STYLE_OVERRIDE=gtk2.
Последний раз редактировалось
0
avatar
Странно. У меня и без этой строчки заработал. У Вас Cinnamon?
0
avatar
philm из команды manjaro предупреждал, что указанный способ не 100%, и в некоторых случаях может не сработать. Вот здесь есть аналогичный Esdeath'у случай краха qt5ct при выборе gtk2: forum.manjaro.org/t/testing-update-2016-06-28-manjaro-tools-qt5-styleplugins-deepin-haskell/4905
0
avatar
Xfce у меня. Скорее всего из-за этого.
0
avatar
krylov__a спасибо, на бегу писал, не заметил ошибку. Поправил.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.