LINUX.ORG.RU

Приложение на Qt не подхватывает системную тему

 , , ,


0

1

Почему-то новое приложение на Qt не подхватывает системную тему. В первый раз с таки сталкиваюсь.

int main(int argc, char** argv)
{
	QApplication app(argc, argv);
	qDebug() << app.style()->objectName();
	return 0;
}
"bb10dark"

Все приложения на Qt5 с этим проблем не испытывают. В системе прописана переменная QT_QPA_PLATFORMTHEME=gtk2. Если в QApplication прямо передавать указание использовать стиль gtk2, проблема решается, но, понятное дело, я так поступать не буду. Возможно, это решится костылями вроде импорта стиля из переменной окружения, но что-то мне подсказывает, что можно проще. До этого таких проблем же не было.

Что посоветуете?

Система Debian 9.

Ответ на: комментарий от Vsevolod-linuxoid

У меня тоже. Но, думаю, дело не в этом, установленные Qt5-приложения подхватывают нормально.

Вообще, кстати, есть подозрение, что всё это началось после того, как в Debian 9 заменили QT_STYLE_OVERRIDE на QT_QPA_PLATFORMTHEME.

meliafaro ★★★★ ()
Ответ на: комментарий от fluorite
[meliafaro: /arsenal/Documents/Scripts/Qt/Temp]$ ldd ./Temp
	linux-vdso.so.1 (0x00007ffed49f9000)
	libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007efea4c34000)
	libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007efea46fb000)
	libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007efea422c000)
	libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007efea3fba000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007efea3d9d000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007efea3a19000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007efea3715000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007efea34fe000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007efea315f000)
	libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007efea2eca000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007efea2cb0000)
	libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007efea2a7b000)
	libicui18n.so.57 => /usr/lib/x86_64-linux-gnu/libicui18n.so.57 (0x00007efea2601000)
	libicuuc.so.57 => /usr/lib/x86_64-linux-gnu/libicuuc.so.57 (0x00007efea2259000)
	libpcre16.so.3 => /usr/lib/x86_64-linux-gnu/libpcre16.so.3 (0x00007efea1ff0000)
	libdouble-conversion.so.1 => /usr/lib/x86_64-linux-gnu/libdouble-conversion.so.1 (0x00007efea1ddf000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007efea1bdb000)
	libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007efea18c5000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007efea16bd000)
	/lib64/ld-linux-x86-64.so.2 (0x000056045f9ad000)
	libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007efea1493000)
	libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007efea1290000)
	libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007efea108d000)
	libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007efea0e86000)
	libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007efea0c82000)
	libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007efea0a53000)
	libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007efea0841000)
	libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007efea063e000)
	libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007efea0438000)
	libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007efea0236000)
	libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007efe9fef4000)
	libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007efe9fccc000)
	libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007efe9fab1000)
	libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007efe9f8ac000)
	libXxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1 (0x00007efe9f6a6000)
	libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007efe9f496000)
	libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007efe9f1e5000)
	libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007efe9efb8000)
	libicudata.so.57 => /usr/lib/x86_64-linux-gnu/libicudata.so.57 (0x00007efe9d53b000)
	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007efe9d2c8000)
	libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007efe9d0c4000)
	libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007efe9cebc000)
	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007efe9cca6000)
"/usr/lib/x86_64-linux-gnu/qt5/plugins"
meliafaro ★★★★ ()
Ответ на: комментарий от Torvus

Использую что-то подобное из реп Дебиана, все установленные приложения подхватывают системную тему, все мои - нет. Если запускать как-то так:

./MyApp -style=gtk2
то всё ок. Проблема в том, что по дефолту в приложении используется какой-то левый style.

meliafaro ★★★★ ()