QML
, IIUC, на самом деле не создает виджеты, в основном это касается макета GUI и т. Д. И т. Д.
QStyle
используется для изменения внешнего вида.Это немного низкоуровневый и требует программирования, поэтому, если вы хотите загрузить различные созданные пользователем скины (из XML или около того), может быть сложно поддерживать обширный скиннинг.Цепные цвета и несколько предметов достаточно просты.(Возможно, кто-то еще сделал что-то, что вы могли бы использовать повторно ... не уверен.)
Для изменения виджетов используйте QStyle::polish()
.Вы можете использовать это, чтобы изменить фоновое изображение (если это окно верхнего уровня или определенного класса).Существует множество методов перерисовки, позволяющих изменить почти каждую часть каждого виджета.
Сохраните / загрузите стиль, используя QSettings
, прочитав и установив нужный стиль сразу после QApplication, но до создания главного окна.