【发布时间】:2018-09-18 13:52:50
【问题描述】:
这篇declare global property in QML for other QML files 的帖子很好地展示了如何创建一个全局主题,但是您将如何创建一个用户可以轻松切换的主题呢?我想你需要一些全局信号来告诉组件值发生了变化,但它是否已经隐含在对象中?
例如,我想做的是有一个看起来像这样的样式:
pragma Singleton
import QtQuick 2.2
var boolean darkTheme = true;
function employDarkTheme() {
darkTheme = true;
}
function employLightTheme() {
darkTheme = false;
}
QtObject {
property QtObject font: QtObject {
property QtObject pointSize: QtObject {
property int menu: 10
property int normal: 12
property int subTitle: 18
property int title: 24
}
property QtObject color: QtObject {
property color primary: darkTheme ? "black" : "white"
property color secondary: darkTheme ? "white" : "black"
}
}
property QtObject background: QtObject {
property QtObject color: QtObject {
property color primary: darkTheme ? "#333333" : "white"
property color secondary: darkTheme ? "white" : "#333333"
}
}
}
QML 目前的工作方式是否可能出现这种情况?
【问题讨论】:
标签: qml