Как сделать темой мое приложение Qt похожим на написанное на Gtk?

15

Марк Шаттлворт недавно написал в блоге о решении включить библиотеки Qt в выпуск 11.10 вместе с продолжением Jono Bacon . То, что отвлекает меня от приложений Qt, это то, что они не очень хорошо сочетаются с темой, основанной на Gtk в Ubuntu. Недавно я прочитал статью Ars Technica, в которой упоминалось, что, приложив немного усилий, Qt-приложения могут быть похожи на Gtk-приложения.

Есть ли какая-либо документация, которая поможет мне сделать это, и если нет, кто-нибудь хотя бы имеет представление о том, как это сделать?

Дэвид Планелла
источник

Ответы:

16

Примечание: это полезно для пользователей настольных компьютеров, а не для разработчиков, использующих Qt.

sudo apt-get install qt4-qtconfig, затем перейдите к настройкам System / Preferences / Qt 4 и выберите стиль GTK в первом выпадающем списке:

Диалог конфигурации Qt

ulidtko
источник
2
это уже по умолчанию, так как lucid.
Линсити
1
Есть ли способ сделать это, который работает с GTK3?
Мэнди
1
Это замечательно, за исключением того, что ничего не меняет значки, используемые приложениями qt. Например, дельфин использует некоторые действительно уродливые иконки, работающие на Ubuntu Unity
Джошуа Робисон,
3

Приложения Qt не следуют настройкам подсказок шрифтов, которые установлены gnome-appearance-properties. Вы должны явно добавить запись, $HOME/.fonts.confнапример, в

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
 <match target="font" >
  <edit mode="assign" name="rgba" >
   <const>rgb</const>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="hinting" >
   <bool>true</bool>
  </edit>
 </match>
 <match target="font" >
  <edit mode="assign" name="hintstyle" >
   <const>hintfull</const>
  </edit>
 </match>
</fontconfig>
daithib8
источник
1

Из поста SU Нагуль /superuser/37444/how-can-i-make-kde-and-other-non-gnome-apps-inherit-the-ubuntu-theme - прямая цитата:

Проверьте QGtkStyle , проект по созданию слоя GTK + для приложений на основе Qt (например, KDE), работающих на рабочих столах на основе GTK2 (например, Gnome).

В обсуждении этой темы на Ubuntu Brainstorm есть идея и сценарии. Идея № 1744: темы GNOME должны затрагивать темы Qt , и другие из них обсуждаются. Идея № 1714: интеграция GNOME QT (и многочисленные повторяющиеся идеи, собранные в рамках этой темы). вопрос).

Одной из заслуживающих внимания попыток является UniformUI , который пытается автоматизировать настройку параметров Qt в соответствии с текущим стилем Gtk +, частично используя QtCurve и QGtkStyle для достижения этой цели.

Четвёртый результат Google по запросу "skin qt to gtk"

RobotHumans
источник
Похоже, qgtkstyleбольше не доступен по указанной вами ссылке. И пока я искал его, я нигде не мог его найти.
71GA
@ 71GA. См .: code.google.com/p/qgtkstyle
RobotHumans,
0

Это делает работу, в Qt 5 и Gtk + 3:

export QT_STYLE_OVERRIDE=gtk
HO1
источник