Автоматическое преобразование в зависимости от единиц в ComboBox - PullRequest
0 голосов
/ 03 января 2019

Я создаю приложение для преобразования времени с использованием Python. Итак, что я хочу реализовать в проекте, так это то, что когда пользователь меняет комбинированный список, значение автоматически изменяется / преобразуется в зависимости от единиц измерения. Например, у меня есть базовое значение 1 секунда, если я выберу миллисек, значение будет преобразовано. Если я снова выберу единицу в поле со списком, базовое число «1» будет преобразовано вместо значения в миллисекундах.

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

1 Ответ

0 голосов
/ 03 января 2019

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

Если это так, вы можете зацепиться при изменении значения и сохранить его значение в некоторой переменной - вашем базовом значении. При программном обновлении поля ввода с преобразованным значением убедитесь, что компонент обновлен, но подключенная функция не называется . Если это не поддерживается какой-либо платформой пользовательского интерфейса, которую вы используете, вы можете использовать логические флаги:

  1. Объявить флаг, который должен хранить, было ли введено базовое значение (изначально ложно)
  2. Объявить переменную для хранения базового значения
  3. Прицепить при замене компонента.
  4. При изменении компонента, если флаг имеет значение false, сохраните значение компонента в объявленной вами переменной базового значения и установите для флага значение true. В противном случае, если флаг имеет значение true, ничего не делать.
  5. Выполните свои вычисления и т. Д. И обновите компонент программно
  6. Как только вы обновите компонент программно, сбросьте флаг на false.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...