Как отключить декоратор границ QDockWidget в ОС Linux?
При использовании QDockWidget в ОС Linux, таких, как Manjaro KDE, Fedora Gnome, с версией Qt5.15, не применяется пользовательская таблица стилей qss для границы закрепленых QDockWidget, а так же для границы QFrame, помещенных в QDockWidget. Вместо этого отображается системный декоратор для границы QDockWidget, который не удаётся отключить с помощью таблицы стилей. Существует ли способ отключить системный декоратор?
А так выглядит правильное оформление (в ОС Windows 8)

Ответы (3 шт):
Под рукой нет KDE/Gnome для проверки, но судя по документации не хватает резета бордера у самого док виджета.
...
QFrame {
border-left: 1px solid #32363F;
border-bottom: 1px solid #32363F;
border-right: 1px solid #32363F;
border-top: none;
background-color: #292930;
}
QDockWidget {
border: none; /** <--- reset border style **/
font-size: 8pt;
color: #A0A5AA;
}
QDockWidget::title {
...
Из приведённого кода на KDE Plasma получилось сделать такое:
QDockWidget {
...
background-color: #292930;
}
И компоновщикам у доков, в которых фрейм, выставил параметры layout[Left|Top|Right|Bottom]Margin и layoutSpacing в 2.
Для Федоры - можно отключить границу, выставив альфа-канал в 0 (четвёртый параметр):
QDockWidget {
...
background-color: rgba(0,0,0,0);
}
Решение оказалось простым до безобразия:
app.setStyle(QStyleFactory::create("Fusion"));

