Я создаю приложение, которое использует несколько частотных диапазонов. Мне нужно, чтобы пользователь мог увеличивать / уменьшать значения в QDoubleSpinBox
, а также вводить значение. Если я увеличу значение до числа из одного диапазона, я бы хотел, чтобы значение переместилось в следующий диапазон (тот же принцип для уменьшения значения).
Обеспечивает ли QDoubleSpinBox
такое поведение? Я не могу найти ответ на то, что я ищу. Я попытался установить диапазон, используя QDoubleValidator
, но я не думаю, что он поддерживает несколько диапазонов (если я что-то упустил). Я также пытался использовать проверки диапазона с операторами if с сигналом valueChanged()
, который получен, но должен быть более простой способ, верно?
Вот пример того, как я хотел бы, чтобы doubleSpinBox вел себя:
Начальное значение : 9,75
Диапазон 1 : 9,75 - 9,95
Диапазон 2 : 10,15 - 10,40
Диапазон 3 : 17,2 - 20,4
Если значение превышает 9,95, перейти к 10,15.
Если значение превышает 10,40, перейти к 17,2 и т. Д.
Я также хотел бы иметь такое же поведение при уменьшении значения (возврат к Диапазон 1 , если значение падает ниже 10,15).
Я бы хотел сделать это без написания нескольких операторов if/else if
, если смогу избежать этого.