在 Qt 上为 Android 设计 GUI 的技术

Posted

技术标签:

【中文标题】在 Qt 上为 Android 设计 GUI 的技术【英文标题】:Techniques for designing GUI for Android on Qt 【发布时间】:2014-02-24 10:11:38 【问题描述】:

我正在努力使我在 Qt 上设计的 GUI 在 android 设备上看起来不错。现在我正在使用小部件来制作通用 GUI(用于桌面和移动设备)。 如果有人在这方面有经验,你能分享一些文献、材料、技术或类似的东西吗?

谢谢!

【问题讨论】:

首先您应该了解,大多数台式机使用鼠标+键盘,而移动设备使用传感器屏幕。这就是为什么为两者设计好的界面是不现实的。请参阅 Windows Metro 以了解可用性不佳的示例。 P.S.看看 QML,而不是小部件。 您或许应该在ux.stackexchange.com 询问这个问题(在检查是否还没有询问过这个问题之后,并且可能已经询问过)。 【参考方案1】:

我可以看到两条路线:

    为桌面(鼠标 + 键盘)和 Android(触摸)设计单独的 UI。

    对于 Qt 和 QML,这是一个非常强大的替代方案。在 C++ 和单独的 javascript .js 文件中拥有应用程序逻辑。然后为两者从头开始编写/设计 UI .qml 文件。不利的一面,或者可能是额外的好处,取决于您的观点,是您必须非常小心整体架构,以便您可以共享尽可能多的代码,并且真正拥有不同的 GUI。

    将自己限制在常见的用户交互中。对于某些 UI,这非常好。触摸和鼠标/键盘之间没有通用的 1-1 映射,但有一些常见的习惯用法:

    点击/点击激活 长按/鼠标右键用于上下文菜单 滑动/鼠标滚轮滚动 捏缩放/使用 ctrl+wheel 缩放 用两根手指平移/按下鼠标按钮、按下右键或按下 alt/control 键进行拖动

普通 UI 的最大障碍可能是选择,尤其是文本选择。使用鼠标时按住 shift/ctrl 进行简单的拖动或单击,使用触摸时变得复杂,可能需要单独的图标才能进入选择模式,或者长按并从上下文菜单中选择正确的选项。如果选择事物是您的应用程序的核心操作,那么您最好选择上面的替代 1.,这样您就可以真正优化触摸 UI,同时为桌面用户提供“标准”桌面选择事物的方式。

【讨论】:

以上是关于在 Qt 上为 Android 设计 GUI 的技术的主要内容,如果未能解决你的问题,请参考以下文章

Python Qt GUI设计入门

在 Windows (Vista) 上使用 C++、Qt 的 GUI 设计问题

Qt GUI 在 Android 上的行为不正常

Python Qt GUI设计简介环境下载和安装

Python Qt GUI设计简介环境下载和安装

Python Qt GUI设计入门信号与槽函数