QML应用程序风格

时间:2016-02-10 14:26:48

标签: qt qml

我正在使用QML编写平板电脑应用程序。

应用程序的主要QML文件是这样的:

ApplicationWindow {
    id: mainWindow
    visible: true
    title: "MyApp"

    menuBar: MenuBar {
        Menu {
            title: qsTr("File")
            MenuItem {
                text: qsTr("Open project")
            }
            MenuItem {
                text: qsTr("Exit")
                onTriggered: Qt.quit();
            }
        }
    }
}

如果我在Android设备上运行应用程序,则菜单的样式就像标准的Android菜单,即右上角的按钮(带有“3点”图标)。这非常好。

相反,如果我在Windows设备上运行应用程序,则菜单就像标准的桌面应用程序菜单(传统的文件菜单......)。此样式不适用于平板电脑应用程序。

有一种方法可以选择应用程序的样式吗? 谢谢!

2 个答案:

答案 0 :(得分:3)

正确的格式应为picked up by default。如果不是,则表示该设备类型(例如触摸)的样式不可用。如果要使用特定样式,可以在运行应用程序之前设置QT_QUICK_CONTROLS_STYLE环境变量。但是,某些样式只能在它们构建的平台上运行。例如,Android样式需要specific file from a directory on the device才能正常运行。

请注意,Qt Quick Controls更专注于桌面。如果您有机会,并且需要原生风格,我建议您尝试Qt Labs Controls。它们更加面向触摸,并且具有style that implements Microsoft's Universal Design Guidelines

enter image description here

他们目前有three different styles可用,任何风格都可以在任何平台上使用。

答案 1 :(得分:2)

如果没有样式,Qt Quick Controls中的组件应具有原生外观。不过,您可以为almost all of them创建自己的样式。