【问题标题】:QML application styleQML 应用风格
【发布时间】:2016-02-10 14:26:48
【问题描述】:

我正在使用 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 设备上运行应用程序,菜单就像标准桌面应用程序菜单(传统的文件菜单...)。这种风格不适合平板电脑应用。

有没有办法选择应用程序的样式? 谢谢!

【问题讨论】:

  • 经过大量与库存 QML 组件的斗争后,我找到的解决方案是“不要使用库存 QML 组件”

标签: qt qml


【解决方案1】:

正确的样式应该是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

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

【讨论】:

  • 我尝试在 Windows 下将 QT_QUICK_CONTROLS_STYLE 设置为 Android 样式,但菜单根本没有出现 :( 。也许我会尝试 Qt Labs Controls,但我必须升级 Qt(我' m 使用 5.5)
  • 在 Windows 上使用 Android 样式不起作用;请看我的第一次编辑。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-12
    • 2018-04-08
    • 1970-01-01
    • 2023-03-10
    • 2014-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多