如何在最新的Qt5.8中使用Universal.System或Material.System?
我正在玩Qt5.8RC和在通用主题和材质主题中引入的新属性系统 然而,当设计一个可定制的应用程序时,人们可以选择通用的或与黑暗、光明或系统相结合的材料。我怎么知道系统实际上不是字符串“系统”,而是“暗”或“光” 下面是我试图构建的内容(settings.qml): 显然,以下用于处理“硬”值的代码不再有效(main.qml): 有什么想法吗?上面写着: 将主题设置为“系统”可选择亮主题或暗主题 基于系统主题颜色。但是,在读取 主题属性,值永远不是系统,而是实际的主题如何在最新的Qt5.8中使用Universal.System或Material.System?,qt,qml,qtquick2,qt5.8,Qt,Qml,Qtquick2,Qt5.8,我正在玩Qt5.8RC和在通用主题和材质主题中引入的新属性系统 然而,当设计一个可定制的应用程序时,人们可以选择通用的或与黑暗、光明或系统相结合的材料。我怎么知道系统实际上不是字符串“系统”,而是“暗”或“光” 下面是我试图构建的内容(settings.qml): 显然,以下用于处理“硬”值的代码不再有效(main.qml): 有什么想法吗?上面写着: 将主题设置为“系统”可选择亮主题或暗主题 基于系统主题颜色。但是,在读取 主题属性,值永远不是系统,而是实际的主题 因此,如果您检查Mater
因此,如果您检查
Material.theme
和Universal.theme
的值,它们都应该返回其有效值,而不是您设置的值。Hmm。。这很奇怪,因为onClicked:{console.log(Material.theme)}总是在Qt CreatorMaterial.theme:Material.Dark中返回qml:0;Component.onCompleted:打印(Material.theme)
为我打印1
。设置Material.theme:Material.System
将使用您的系统正在使用的任何东西,因此如果这是一个轻主题,它将始终返回0
:我认为我下载的RC工作不好。当我使用助手从头开始一个新项目时(并将最新版本号放入导入中),qtquickcontrols2.conf中的Accent=BlueGrey
不起作用:我在控制台中看到一个错误,Theme=Dark
或Theme=Light
很好,但是Theme=System
总是依赖于灯光。如果没有一个完整的示例可以尝试,我就无能为力,对不起。事实上,现在在Windows上,你可以设置暗或亮,这反映在类似计算器的应用程序中,但决不会在Qt应用程序中。所以我在这里打开了一个问题:基本上是这个线程。你可以在C++中指定不同的,并尝试做那个检查。
RadioButton {
text: qsTr("Light")
checked: appSettings.theme === "Light"
ButtonGroup.group: modeBG
onClicked: {
appSettings.theme = "Light"
appSettings.background = "white"
appSettings.menuPaneColor = "#eeeeee"
}
}
RadioButton {
text: qsTr("Dark")
checked: appSettings.theme === "Dark"
ButtonGroup.group: modeBG
onClicked: {
appSettings.theme = "Dark"
appSettings.background = "black"
appSettings.menuPaneColor = "#171717"
}
}
RadioButton {
text: qsTr("System theme")
ButtonGroup.group: modeBG
onClicked: {
appSettings.theme = "System"
//appSettings.background = "black"
//appSettings.menuPaneColor = "#171717"
}
}
ToolButton {
id: burgerMenu
checkable: appSettings.burgerMenuIsChecked
contentItem: Image {
fillMode: Image.Pad
horizontalAlignment: Image.AlignHCenter
verticalAlignment: Image.AlignVCenter
source: "qrc:/images/" + appSettings.style + "/" + appSettings.theme + "/drawer.png"
}
...
}