Изменение темы Qt приложений под GTK (gnome)

Итак это первый гайд перенесенный на сайт из рубрики полезные советы нашего паблика — Как сделать чтобы приложения написанные на фреймворке Qt выглядели также как и нативные, написанные на GTK3. Получилось довольно бредово, тк что эта статья будет разделена на 2, сам гайд, и более подробный разбор фреймворка qt

Немного матчасти

Если вы не знали что это за Qt и GTK говоря упрощенно это такие обертки для оконных приложений, тк сказать дополнительные уровни абстракции над кодом (в windows такая обертка называется WinAPI), которые позволяют программисту не задумываться над написанием кода для таких стандартных вещей как элементы интерфейса: кнопки, ползунки, заголовки окна, текстовые поля, флаги, выезжающие списки и тд.

Тк кк я немного знаком с Qt вот очень краткий пример как устроены фреймворки.

1) Размещаю на форме к примеру элемент WebView и строку ввода текста, компануя элементы по вертикали(чтобы при изменении размеров окна все элементы соответствующе изменяли свои размеры)

2) Добавляю обработчики кликов и нажатия Enter, связывая их с соответствующими элементами в интерфейсе.

3) тадаам, получился простейший браузер с адресной строкой работающий на WebKit.

Вообщем чето я увлекся, ну думаю зато теперь вам все понятно, люблю я пояснять матчасть.

Qt приложения

Теперь к теме гайда ^^ , Qt приложений под линукс написано довольно много (потому что Qt кроссплатформенный) вот полный список

Qt приложения

0–9 4K Video Downloader A AcetoneISO Adobe Photoshop Album Advanced Component Framework Age of Wonders III Altera Quartus AMD CodeAnalyst Amira (software) ARts Atomistix Virtual NanoLab Avizo (software) B Back in Time (software) Basic For Qt BasKet Note Pads Battle.net BlackBerry 10 Brewtarget C Calibre (software) Calligra Suite City of Heroes ClipGrab CMake CodeXL D DCOP Dooble Doxygen Dust Racing 2D E Emergent (software) Enpass Eric (software) ESvn F FEKO Filelight Fontmatrix Freeseer Full Tilt Poker G Gadu-Gadu Gambas GNU Octave Goalbit Google Earth GPSBabel Grabilla Guitar Pro Guvera H HemoSpat K KDE Display Manager Kdetv KeePass KeePassX KeePassXC KGeography KHangMan Kig (software) Kiten (program) KOffice KPDF KPhone KSEG (software) KSnapshot KStars KTouch Kuzya L LabPlot Last.fm Launchy Leo (text editor) LibreCAD Lightscreen LXQt M Malwarebytes (software) Marble (software) Marcion (software) MedinTux Mendeley MeVisLab MoonLightDE Mount & Blade: Warband Mus2 MuseScore N Natron (software) NoteEdit Nuke (software) O Open Broadcaster Software Open Inventor OpenLP Origin (digital distribution software) P Parallels Desktop for Mac PCMan File Manager PDFedit Pencil2D Playwrite (software) PokerTH PPS.tv Psi (instant messaging client) Q QDevelop QGIS Qjackctl QOwnNotes QSvn Qt Creator Qt Extended Qt Quick QtiPlot QtParted Quassel IRC Qwt R Razor-qt RealFlow Recoll S S60 (software platform) SciDAVis Scribus Sigil (application) Sigrok Simple Desktop Display Manager Spectacle (software) Spotify Stellarium (software) Step (software) Subsurface (software) SuperKaramba T TaskJuggler TeamSpeak TeamViewer Telegram (messaging service) Tellico Tlen.pl TOra TortoiseHg Tribler Tupi (software) Twinkle (software) U Ubuntu Touch Ultracopier UNetbootin V Veusz Vidalia (software) VirtualBox VisIt VisTrails VOGL VTK W Warzone 2100 Wireshark Wolfram Mathematica (software) Wpa supplicant WPS Office X Xconfig

[свернуть]

Среди которых есть такие популярные как OBS, qBittorrent, VLC, Google Earth, Virtual Box, Team Speak, все нативные приложения KDE(как и сама KDE) и многие другие.

На gnome в gtk среде Qt приложения выглядят одинаково не зависимо от установленной темы или иконок, сделать чтобы это было не так нам поможет набор плагинов qt5kt.

Arch’еподобные

1)  sudo pacman -S qt5ct qt5-styleplugins
2) В файл profile, который лежит в /etc добавляем строку export QT_QPA_PLATFORMTHEME="qt5ct"
3) Перезагружаем сессию
4) В qt5ct выбираем Style: gtk2, применяем Apply

На Debian’подобных все тоже самое но qt5ct лежит в репе webupd8
sudo add-apt-repository ppa:hda-me/qt5ct
sudo apt-get update
sudo apt install qt5ct qt5-style-plugins
З.Ы. чтобы изменить файл profile (а он лежит не в home) можно использовать что-то вроде sudo gedit и в нем открыть profile.

Ну вот, теперь все qt приложения будут подсасывать gtk тему:

 

На следующих дистрибутивах все это действо выполнено из коробки: Antergos, Manjaro, Opensuse Tumbleweed, Opensuse Leap.

Войти с помощью: 
avatar
5000
5 Comment threads
11 Thread replies
3 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
gavrСергейPaul Recent comment authors
новые старые лучшие
Сергей
Участник

Пожалуйста, удалите переменную среды QT_STYLE_OVERRIDE

Сергей
Участник

Где находится эта переменная QT_STYLE_OVERRIDE, которую нужно удалить? Пофиксил свою проблему. Итак, что нужно, чтобы ошибка пропала и вы могли… Читать дальше »

Сергей
Участник
Сергей
Участник

еще вопрос! а что именно нужно редактировать в файле «profile», что темы заработали????

Paul
Участник

В GTK3,иконки приложений неправильно отображаются

Сергей
Участник

E: Не удалось найти пакет qt5-styleplugins

Paul
Участник

Не кошерно ,qt3,qt4 использовать