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

时间:2017-07-06 14:09:12

标签: qt qml material-design qtquick2 qtquickcontrols2

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

最诚挚的问候 丹尼尔

1 个答案:

答案 0 :(得分:3)

  

我无法导入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
    }
}

gif