Как я могу создать тему для моего приложения Qt, похожего на написанное на Gtk?
Марк Шаттлворт недавно написал в блоге о решении включить библиотеки Qt в выпуск 11.10 вместе с продолжением Jono Bacon. То, что отвлекает меня от приложений Qt, заключается в том, что они не очень хорошо сочетаются с темой, основанной на Gtk в Ubuntu. Недавно я прочитал статью Ars Technica, в которой упоминалось, что, приложив немного усилий, приложения Qt могут быть похожи на приложения Gtk.
Есть ли какая-либо документация, которая поможет мне сделать это, и если нет, кто-нибудь хотя бы имеет представление о том, как это сделать?
4 ответа
Примечание: это полезно для пользователей настольных компьютеров, а не для разработчиков, использующих Qt.
sudo apt-get install qt4-qtconfig
, затем перейдите к настройкам System / Preferences / Qt 4 и выберите стиль GTK в первом выпадающем списке:
Приложения 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>
Из поста SU Нагуль https://superuser.com/questions/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"
Это делает работу, в Qt 5 и Gtk+ 3:
export QT_STYLE_OVERRIDE=gtk