Как избежать обхода в элементе управления QDial?

у меня есть QDial контроль, и я хочу / нужно заблокировать переход или переход между минимальным и максимальным значениями.

анимация поведения, чтобы избежать

Я не могу найти ничего ни в документации, ни в свойствах.

Это вообще возможно?

1

Решение

Это не переполнение. QDial следует за позицией курсора, независимо от того, куда он ушел, поэтому, когда курсор находится рядом с 0, значение устанавливается в 0 независимо от предыдущего значения.

Если вы хотите изменить это поведение, вам нужно будет создать свой собственный виджет (он может быть основан на QDial либо по наследованию, либо по составу), где вы также будете отслеживать, куда указала мышь, чтобы заставить пользователя пройти все значения по порядку.

Кроме того, вы сказали, что проблема в том, что у вас есть крутое изменение в значении, и что это последнее значение в аппаратном обеспечении. В этом случае у вас должен быть своего рода класс контроллера между графическим интерфейсом и оборудованием, который гарантирует, что значения являются правильными для оборудования.

1

Другие решения

В свойствах QDial перейдите в группу QDial и включите «обтекание», которое решит вашу проблему 🙂

Значение чем непрерывное. Ниже 0 будет -1, -2, … и выше вашего максимума это также будет продолжаться. Таким образом, вам придется вычислять реальное значение, используя модуль, но это намного проще и быстрее, чем создание нового элемента управления.

-1

По вопросам рекламы [email protected]