android - QWidget-based Android style preview in designer?

标签 android c++ qt qt5

当创建基于 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 上的 QWindowsXPStyleQWindowsVistaStyle 以及 macOS 上的 QMacStyle

所以,对于您的要求,没有简单的解决方案。 更简单的方法是构建应用程序并在 Android 设备或 Android 虚拟设备上运行它。

可能还可以更新 QAndroidStyle 以使其在其他操作系统上运行,方法是添加一些代码使其使用默认值而不是在另一个操作系统上构建时查询 Android平台。但这并不简单,甚至可能根本不可能。

关于android - QWidget-based Android style preview in designer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47068985/

相关文章:

android - ActionBar 抛出 NullPointerException

android - 在 SearchView 中搜索项目后,recyclerview 列表未更新

c++ - 使用 boost 进程获取 shell 命令的标准输出

c++ - 在 paintEvent 之后恢复 TextCursor

c++ - 无法在某些小部件上触发鼠标事件

android - 如何更改应用程序用户组

android - 带有动画的Android应用程序的自定义标签栏

C++ STL 容器中的 NULL 指针

c++ - 将 C++ 片段转换为 Golang

c++ - 如何在 QVBoxLayout 中显示 QString