Как использовать Universal.System или Material.System в последней версии Qt 5.8?

Я играю с Qt 5.8 RC и новым атрибутом System, представленным в темах Universal и Material.

Однако при разработке настраиваемого приложения можно выбрать Универсальный или Материал в сочетании с Темным, Светлым или Системным. Как я могу узнать, что система на самом деле является не строкой "System", а "Dark" или "Light"?

Вот что я пытаюсь собрать (settings.qml): Miam-плеер-QML

RadioButton {
    text: qsTr("Light")
    checked: appSettings.theme === "Light"
    ButtonGroup.group: modeBG
    onClicked: {
        appSettings.theme = "Light"
        appSettings.background = "white"
        appSettings.menuPaneColor = "#eeeeee"
    }
}
RadioButton {
    text: qsTr("Dark")
    checked: appSettings.theme === "Dark"
    ButtonGroup.group: modeBG
    onClicked: {
        appSettings.theme = "Dark"
        appSettings.background = "black"
        appSettings.menuPaneColor = "#171717"
    }
}
RadioButton {
    text: qsTr("System theme")
    ButtonGroup.group: modeBG
    onClicked: {
        appSettings.theme = "System"
        //appSettings.background = "black"
        //appSettings.menuPaneColor = "#171717"
    }
}

Очевидно, что следующий код, который раньше работал с "жесткими" значениями, больше не работает (main.qml):

ToolButton {
    id: burgerMenu
    checkable: appSettings.burgerMenuIsChecked
    contentItem: Image {
        fillMode: Image.Pad
        horizontalAlignment: Image.AlignHCenter
        verticalAlignment: Image.AlignVCenter
        source: "qrc:/images/" + appSettings.style + "/" + appSettings.theme + "/drawer.png"
    }
    ...
}

Любая идея?

1 ответ

В документации сказано:

При установке темы в Систему выбирается светлая или темная тема в зависимости от цвета системной темы. Тем не менее, при чтении значения свойства темы, это значение не System, а фактическая тема.

Итак, если вы проверите значения Material.theme а также Universal.themeоба должны возвращать свои эффективные значения, а не значение, которое вы установили.

Другие вопросы по тегам