当创建基于 QtWidget(非 QtQuick)的 Android 应用程序时,它在设备上默认显示为 Android 样式(自 Qt 5.4 起),但使用 Qt default Qt Designer 中的样式并针对Desktop 目标进行编译。
是否有一种简单的解决方案可以在 Qt Designer 中也让 Android 目标看起来和感觉?
最佳答案
Android 风格 QAndroidStyle
仅在为 Android 构建 Qt 时构建,因此在 Windows、Linux 或 macOS 等其他操作系统上不可用。
原因很可能是技术性的,因为这种样式可能会向 Android 查询字体、颜色主题等信息。这些查询将无法在非 Android 操作系统上运行,甚至可能无法编译。
其他样式有这样的限制,例如 Windows 上的 QWindowsXPStyle
和 QWindowsVistaStyle
以及 macOS 上的 QMacStyle
。
所以,对于您的要求,没有简单的解决方案。 更简单的方法是构建应用程序并在 Android 设备或 Android 虚拟设备上运行它。
可能还可以更新 QAndroidStyle
以使其在其他操作系统上运行,方法是添加一些代码使其使用默认值而不是在另一个操作系统上构建时查询 Android平台。但这并不简单,甚至可能根本不可能。
关于android - QWidget-based Android style preview in designer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47068985/