QWidget和Qml在触屏处理上有什么不同?
What's the different between QWidget and Qml in the processing of touch screen?
我打算在触摸屏上开发一个系统。我尝试使用 Qwidget。但我在 QT 文档中找到了这个。
它说,"Qt Widgets often require a mouse cursor for good interaction, whereas Qt Quick only provides primitive building blocks that were designed with touch interaction in mind. "
这是什么意思?鼠标光标和原始积木有什么不同?
基于Qt Widgets 的应用程序可以在触摸屏上正常工作。我用 Qt Widgets 编写了很多触摸屏应用程序,它们运行良好。
问题是,有些小部件太小了,所以很难在触摸屏上使用它们,例如QSpinBox
、QDateTimeEdit
。
一些小部件几乎不可用,例如如果下拉项不适合屏幕,QComboBox
将无法正常工作。由于滚动条,QScrollArea
和所有使用它的组件都存在同样的问题。
您仍然可以使用 Style sheets 修改所有组件并使它们更适用于触摸屏。
想象一下使用 Qt Widgets 的这个对话框。也不可能用手指在电容触摸屏上使用。 需要鼠标光标才能进行良好的交互。
另一方面,QML首先是触摸屏。 Qt Quick Controls 中有一些组件,但您可以使用 Rectangle 等原始构建块轻松定义自己的组件。有一些 built-in 设计师,但它从来没有适合我更复杂的设计。我曾经以手动编码 QML 结束。对我来说,QML 更难学习,最终的代码往往充满了 hack 以达到某个目标。这是我个人的看法。
想象一下这次使用 QML 的选择器。它可以只实现一些文本元素和您自己的矩形(仅使用原始构建块)。它也可以通过触摸屏完美使用。使用 Qt Widgets 比使用 QML 更难实现此组件。
我打算在触摸屏上开发一个系统。我尝试使用 Qwidget。但我在 QT 文档中找到了这个。
它说,"Qt Widgets often require a mouse cursor for good interaction, whereas Qt Quick only provides primitive building blocks that were designed with touch interaction in mind. "
这是什么意思?鼠标光标和原始积木有什么不同?
基于Qt Widgets 的应用程序可以在触摸屏上正常工作。我用 Qt Widgets 编写了很多触摸屏应用程序,它们运行良好。
问题是,有些小部件太小了,所以很难在触摸屏上使用它们,例如QSpinBox
、QDateTimeEdit
。
一些小部件几乎不可用,例如如果下拉项不适合屏幕,QComboBox
将无法正常工作。由于滚动条,QScrollArea
和所有使用它的组件都存在同样的问题。
您仍然可以使用 Style sheets 修改所有组件并使它们更适用于触摸屏。
想象一下使用 Qt Widgets 的这个对话框。也不可能用手指在电容触摸屏上使用。 需要鼠标光标才能进行良好的交互。
另一方面,QML首先是触摸屏。 Qt Quick Controls 中有一些组件,但您可以使用 Rectangle 等原始构建块轻松定义自己的组件。有一些 built-in 设计师,但它从来没有适合我更复杂的设计。我曾经以手动编码 QML 结束。对我来说,QML 更难学习,最终的代码往往充满了 hack 以达到某个目标。这是我个人的看法。
想象一下这次使用 QML 的选择器。它可以只实现一些文本元素和您自己的矩形(仅使用原始构建块)。它也可以通过触摸屏完美使用。使用 Qt Widgets 比使用 QML 更难实现此组件。