如何避免 QDial 控件中的回绕?
How can I avoid wrap-around in the QDial control?
我有一个 QDial
控件,我 want/need 阻止最小值和最大值之间的跳跃或回绕。
我在文档和属性中找不到任何内容。
这可能吗?
这不是溢出。 QDial跟随光标的位置,不管它走到哪里,所以当光标接近0时,无论之前的值如何,该值都设置为0。
如果你想改变这个行为,你将不得不创建你自己的小部件(它可以基于 QDial 通过继承或组合),你还可以跟踪鼠标去哪里强制用户通过所有值按顺序排列。
您还说问题是您的价值发生了急剧变化,并且该价值后来用于硬件。在这种情况下,您应该在 GUI 和硬件之间有一种控制器 class,以确保值对于硬件是正确的。
在 QDial 属性中,转到 QDial 组并启用 'wrapping',这将解决您的问题:)
比连续值。低于 0 将是 -1, -2 ,... 而高于你的最大值它也会继续。因此,您必须使用模数计算实际值,但这比创建新控件要容易和快捷得多。
我有一个 QDial
控件,我 want/need 阻止最小值和最大值之间的跳跃或回绕。
我在文档和属性中找不到任何内容。
这可能吗?
这不是溢出。 QDial跟随光标的位置,不管它走到哪里,所以当光标接近0时,无论之前的值如何,该值都设置为0。
如果你想改变这个行为,你将不得不创建你自己的小部件(它可以基于 QDial 通过继承或组合),你还可以跟踪鼠标去哪里强制用户通过所有值按顺序排列。
您还说问题是您的价值发生了急剧变化,并且该价值后来用于硬件。在这种情况下,您应该在 GUI 和硬件之间有一种控制器 class,以确保值对于硬件是正确的。
在 QDial 属性中,转到 QDial 组并启用 'wrapping',这将解决您的问题:)
比连续值。低于 0 将是 -1, -2 ,... 而高于你的最大值它也会继续。因此,您必须使用模数计算实际值,但这比创建新控件要容易和快捷得多。