Как сделать темой мое приложение 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


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>

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"


Похоже, qgtkstyleбольше не доступен по указанной вами ссылке. И пока я искал его, я нигде не мог его найти.
71GA


0

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

export QT_STYLE_OVERRIDE=gtk
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.