【发布时间】:2023-03-09 19:16:01
【问题描述】:
我正在开始我的下一个电子项目,即创建我自己版本的 Google Nest Thermostat。我喜欢用于温度选择的整个圆形刻度盘,我一直在考虑如何自己创建它。 GUI 编程不是我的专业领域(一直是 CLI!)。
到目前为止,我认为是两条路线之一,都涉及自定义小部件:
- 创建一个从按钮类继承的小部件。该子类将包含许多按钮,每个按钮对应温标中的每个步骤,按 3/4 圆圈排列。
- 创建一个从滑块类继承的小部件,定义一个围绕 3/4 圆弯曲的对象。每一步都是一个温度。
现在...我不知道这些是否是解决此问题的实际解决方案,或者是否有更简单的方法来解决此问题。我已经查看了样式表,但我不认为会这样做。我在谷歌周围有过类似的东西,但还没有找到任何东西。也就是说,3electrons 的 AnalogWidgets 至少会创建表盘,但这些是用于输出而不是输入。
【问题讨论】:
-
这种事情在 QtQuick 中很简单,但在使用 QtWidgets 时却非常困难——有什么理由你没有考虑到这一点?就目前而言,这个问题对于 SO 来说太宽泛了(有很多方法可以实现您的要求),因此您需要做更多的研究并将您的问题缩小为更具体的问题。
-
那我来看看QtQuick。还没有遇到过。我太专注于如何使用小部件来做到这一点。谢谢。
-
QGraphicsView 也值得一提。如果您必须使用小部件(混合使用 QML 和 QWidget 技术有很多限制)或者您没有足够的时间来了解 QML 中的工作原理,QGraphicsView 为灵活的 UI 元素提供了一些很棒的功能。