小编sne*_*ha 的帖子

在MouseClick上在运行时动态更改QML主题

我有Theme1.js,它具有与Theme 1样式相关的属性变量,类似于我有主题2,Theme2.js现在在main.qml中,如果我点击MouseArea,主题应该在Theme1和Theme2之间切换.我发现QML中不存在条件导入语句.还有其他办法吗?

Theme1.js

var color="red";
var textString="This is Theme1"
Run Code Online (Sandbox Code Playgroud)

Theme2.js

var color="green";
var textString="This is Theme2"
Run Code Online (Sandbox Code Playgroud)

main.qml

import QtQuick 2.3
import QtQuick.Window 2.2
import "Theme1.js" as Theme //default Theme 

Window {
    visible: true
    color:Theme.color

    MouseArea {
        anchors.fill: parent
        onClicked: {
            //Change Theme 1 to Theme 2. Basically Toggle Theme here

        }
    }

    Text {
        text: Theme.textString
        anchors.centerIn: parent
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript qt qml qtquick2 qt5.5

5
推荐指数
1
解决办法
568
查看次数

标签 统计

javascript ×1

qml ×1

qt ×1

qt5.5 ×1

qtquick2 ×1