Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qml QtQuickControls2,在运行时更改样式属性_Qt_Qml_Material Design_Qtquick2_Qtquickcontrols2 - Fatal编程技术网

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

Qml QtQuickControls2,在运行时更改样式属性,qt,qml,material-design,qtquick2,qtquickcontrols2,Qt,Qml,Material Design,Qtquick2,Qtquickcontrols2,我应该在运行时设置材质样式的属性,例如,当用户单击定义的按钮时更改主题值(亮/暗)。 我已经用qtquickcontrols2.conf及其属性(主题、重音和主)配置了材质样式。我无法导入QtQuick.Controls.Materials 2.0,因为我不知道,但我正在使用QtCreator 4.0.2和QtQuick.Controls.Materials以及QtQuick.Controls.Universal导入的Ubuntu上工作。 我的目标是在运行时将材质样式的主题从浅色改为深色,反之亦

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

致意 达涅利

我无法导入QtQuick.Controls.Materials 2.0,因为我不知道,但我正在使用QtCreator 4.0.2和QtQuick.Controls.Materials以及QtQuick.Controls.Universal导入的Ubuntu上工作

您至少需要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 5.7.0才能提供导入。您使用的是哪个Qt版本?我已导入(导入QtQuick.Controls 2.0),但未检测到(导入QtQuick.Controls.Material 2.0)(未找到Qml模块)。我怎样才能解决这个问题?qt creator上可能有一个bug。它可以工作!ThanksI不得不添加“QQuickStyle::setStyle(“材质”);”在C++代码中。也可以在命令行上传递“-style Material”。还有一些其他的方法来设置这个。