Установите значение QComboBox или QSpinBox на недопустимое значение

StackOverflow https://stackoverflow.com/questions/1803112

  •  05-07-2019
  •  | 
  •  

Вопрос

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

Теперь для переменной Y по умолчанию используется значение x. Когда пользователь изменяет какую-то другую переменную Z, может быть новое минимальное значение для Y, которое больше x. Это установлено как минимум для spinbox. Теперь спинбокс больше не может отображать текущее значение, а отображает минимум. Я хотел бы, чтобы пользователь мог видеть его старое значение. Есть ли какие-то настройки, которые я не вижу в Qt для достижения чего-то подобного?

Тот же вопрос касается QComboBox.

Это было полезно?

Решение

В качестве одного из подходов вы можете создать новый класс, унаследованный от Qt standart QSpinBox (или во втором случае от QComboBox), и добавить к ним свою собственную логику: возможность показывать значение ниже минимального, но когда кто-то хочет явно изменить значение в вашем входные виджеты, вы будете проверять границы.

Другие советы

Другой подход - подключить каждый виджет к функции, которая будет проверять правильность других значений (а если нет, то исправлять их):)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top