我应该在运行时设置Material样式的属性,例如,当用户单击定义的按钮时,更改主题值(亮/暗)。
我已经使用qtquickcontrols2.conf及其属性(主题,重音和主要属性)配置了Material样式。我无法导入QtQuick.Controls.Materials 2.0,因为我不知道,但是我正在使用QtCreator 4.0.2的Ubuntu进行工作,并且未检测到QtQuick.Controls.Materials和QtQuick.Controls.Universal导入。
我的目标只是在运行时将材质样式的主题从浅色更改为深色,反之亦然。如何集成此功能?感谢您的建议。

最好的祝福
丹尼尔(Daniele)

最佳答案

我无法导入QtQuick.Controls.Materials 2.0,因为我不知道,但是我正在使用QtCreator 4.0.2的Ubuntu进行工作,并且未检测到QtQuick.Controls.Materials和QtQuick.Controls.Universal导入。


您至少需要Qt 5.7.0才能使用Qt Quick Controls 2.0导入。


我的目标只是在运行时将材质样式的主题从浅色更改为深色,反之亦然。


您可以在运行时像这样切换主题:

import QtQuick 2.7
import QtQuick.Controls 2.0
import QtQuick.Controls.Material 2.0

ApplicationWindow {
    id: window
    width: 200
    height: 200
    visible: true

    Material.theme: themeSwitch.checked ? Material.Dark : Material.Light

    Switch {
        id: themeSwitch
        text: "Dark"
        anchors.centerIn: parent
    }
}


qt - Qml QtQuickControls2,在运行时更改样式属性-LMLPHP

关于qt - Qml QtQuickControls2,在运行时更改样式属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44951317/

10-12 15:26