Как установить дочернее свойство виджета Qt с помощью StyleSheet
Я хотел бы установить свойство QT QDockWidget DockWidgetClosable, используя StyleSheet . Тем не менее, он находится внутри свойства "функции".
Как я могу изменить его, используя таблицы стилей?
Я попробовал это без успеха.
Например.
QDockWidget{
qproperty-floating:false;
qproperty-windowTitle:omg12;
}
Устанавливает параметры "плавающий" и "windowTitle" в соответствующие значения. но я не нашел ключ для установки значения "DockWidgetClosable".
2 ответа
Поскольку QDockWidget
в значительной степени считается "классом" в таблице стилей.qss - и если вы хотите изменить DockWidgetClosable
собственность всех QDockWidget
- вам придется изменить значения всех QDockWidget
классы вроде так:
.QDockWidget{
DockWidgetClosable: true;
}
Решение
Фактически вы можете изменить его с помощью таблицы стилей, но не в точности так, как описано выше.
Единственный способ заставить его работать - это напрямую вызвать и установить его значение в строку, содержащую каждое имя подфункции, которую я хочу использовать, и разделив их символом вертикальной черты.
Например:
QDockWidget{
qproperty-features:"DockWidgetClosable | DockWidgetFloatable | DockWidgetVerticalTitleBar";
}
Где я нашел эту информацию?
К сожалению, прямой информации нет, но я обнаружил небольшую подсказку при чтении онлайн-документации:
Там вы можете найти таблицу констант перечисления и соответствующих значений. Мое внимание привлекла одна из записей в таблице:
Из этой записи я пришел к выводу, что, возможно, подфункции
qproperty-feature
можно задать по их именам, и, к счастью, это сработало.