LINUX.ORG.RU

Сборка приложения на Qt 5 и темы Gtk

 ,


0

1

Есть проблема, Qt 5 приложения не подхватывают текущую тему Gtk — например Qt Creator, скачанный с сайта Digia и программы запускаемые в нем. Есть ли способ решить эту проблему во время компиляции, без участия пользователя (и приложений типа Qt Config).

★★★★★

Последнее исправление: CrossFire (всего исправлений: 1)

По идее, эта проблема лежит целиком на плечах мейнтейнеров. Qt 5 для совместимости с Gtk-окружением должен быть собран с опциями -gtkstyle -glib. А при запуске приложения с app -style gtk стиль виджетов нативный?

EXL ★★★★★
()
Ответ на: комментарий от EXL
-gtkstyle -glib

Эти флаги использовались при сборке, и сами по себе не помогают, а вот app -style gtk таки работает, спасибо. Можно, конечно, добавить эту опцию в .desktop, но тогда KDE юзеры в пролете :/

CrossFire ★★★★★
() автор топика
Последнее исправление: CrossFire (всего исправлений: 3)
Ответ на: комментарий от CrossFire

Может тогда скрипт run.sh, где читается состояние XDG_CURRENT_DESKTOP?
Но так не должно быть. Qt должна сама определять DE, и если используется что-то на GTK+ — тянуть соответствующую схему.

EXL ★★★★★
()

Проблема только при запуске из qt creator? Если да- то в свойствах проекта-запуск-параметры добавь -style gtk (вот так). Так же попробуй удалить ~/.config/Trolltech.conf

CrazyAlex25 ★★★
()
Ответ на: комментарий от Deleted

не используются системные настройки шрифтов, у тса похожая проблема

gosha36 ★★
()
Ответ на: комментарий от CrazyAlex25

qtconfig под Qt5? Это как бы невозможно.

EXL ★★★★★
()
Ответ на: комментарий от Deleted

Не знаю. Осенью должен зарелизнуться. По-крайней мере Qt 4.8.7 обещали релизнуть в это время.

EXL ★★★★★
()
Ответ на: комментарий от EXL

Может тогда скрипт run.sh, где читается состояние XDG_CURRENT_DESKTOP?

Для отдельного инсталлера вполне себе вариант, да. А если .deb пакет собирать, куда его лучше положить?

CrossFire ★★★★★
() автор топика
Ответ на: комментарий от CrossFire

Вообще это костыль. Можешь представить такую инфу, как дистр, версию Qt, источник, откуда ставил Qt и др?

Такое только при запуске из-под Qt Creator'а? Или вообще?

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от CrossFire

А ты пробовал просто из консоли программу запускатЬ? Может она только из креатора тему не подхватывает?

CrazyAlex25 ★★★
()
Ответ на: комментарий от EXL

Вообще это костыль. Можешь представить такую инфу, как дистр, версию Qt, источник, откуда ставил Qt и др?Такое только при запуске из-под Qt Creator'а? Или вообще?

Qt собрана для статической линковки на Ubuntu 12.04, с флагами -gtkstyle -glib, версия 5.2.0, ЕМНИП с http://qt-project.org/. Не важно, статическая линковка у приложения с самосборной бибилиотекой или динамическая с криаторной. При этом если поставить убунтовские либы и криатор из репозитория, то тема подхватывается нормально.

P.S. Запускал, конечно же, не только из криатора.

CrossFire ★★★★★
() автор топика
Последнее исправление: CrossFire (всего исправлений: 1)

Есть ли способ решить эту проблему

не использовать гтк окружения xD

Deleted
()

тему Gtk

fffffuuuu~~

anonymous
()

QT_STYLE_OVERRIDE=gtk есть такая чудо переменная окружения, после которой все qt5 приложения будут использовать gtk+ тему, если возможно.

dhampire ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.