3

我有一个QDial控件,我想要/需要阻止最小值和最大值之间的跳转或环绕。

要避免的行为的动画

我在文档和属性中都找不到任何东西。

这有可能吗?

4

2 回答 2

1

这不是溢出。QDial 跟随光标的位置,而不管它走到哪里,所以当光标接近 0 时,无论之前的值如何,该值都设置为 0。

如果您想更改此行为,您将必须创建自己的小部件(它可以通过继承或组合基于 QDial),您还可以在其中跟踪鼠标的位置以强制用户按顺序浏览所有值。

您还说问题在于您的价值发生了急剧变化,并且该价值后来在硬件中使用。在这种情况下,您应该在 GUI 和硬件之间有一种控制器类,以确保硬件的值是正确的。

于 2017-04-10T11:10:24.690 回答
-1

在 QDial 属性中,转到 QDial 组并启用“包装”,这将解决您的问题 :)

该值比连续。低于 0 将是 -1, -2 ,... 高于你的最大值它也会继续。因此,您必须使用模数来计算实际值,但这比创建新控件要容易和快捷得多。

于 2017-04-10T11:19:54.087 回答