После замены метода во время True: остановить цикл в Tkinter - PullRequest
0 голосов
/ 04 декабря 2018

Допустим, у вас есть две виртуальные кнопки, которые используются на сенсорном экране.Имейте в виду, что сенсорный экран использует довольно много выводов ввода / вывода, поэтому мы ограничены кнопками, которые мы используем для активации светодиодов и считывания входных сигналов.

Настройка: Таким образом, есть два светодиода, представляющих левый светодиод и правый светодиод, которые мы будем называть l_LED и R_LED, и есть один концевой выключатель с условием «открыт / закрыт».Цель состоит в том, чтобы позволить виртуальным кнопкам «Влево» и «Вправо» активировать светодиоды, только если концевой выключатель замкнут.Есть две виртуальные кнопки и одна метка.Первая виртуальная кнопка = левая, а другая виртуальная кнопка = правая.Если концевой выключатель замкнут, наклейка = «Выбрать сторону» и если концевой выключатель разомкнут, на этикетке написано «Извините, я занят».Когда концевой выключатель занят, кнопки левого и правого светодиодов становятся неработоспособными.

Светодиодная виртуальная кнопка изменяется при переключении с «Влево» на «Пожалуйста, подождите», потому что она ожидает состояния концевого выключателя, чтобы открыть, тем самым изменяя метку на «Извините, я занят».Пока на этикетке присутствует надпись «Извините, я занят», ни одна из светодиодных виртуальных кнопок не может функционировать.Когда концевой выключатель закрывается, виртуальная кнопка возвращается в положение «влево», и обе кнопки снова становятся работоспособными.ТАК, как только выбор сделан, включается соответствующий светодиод.Когда он находится на концевом выключателе, он должен открываться и после закрытия возвращаться к своему первоначальному состоянию «Выберите сторону», поэтому в основном он отменяет светодиод «Пожалуйста, подождите» и возвращает его в положение «Влево» или «Вправо» в соответствии с выбором человека.,Я знаю, что это кажется простым кодом ... и по большей части это так ... но ожидание концевого выключателя, чтобы изменить условие, в то время как светодиодные виртуальные кнопки функционируют ... это дилемма, которую я не смог решитьтолько пока.

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

Условие1: Пользователь выбирает «Слева»Виртуальная светодиодная кнопка переходит из основного состояния ["text"] = "Влево" в "Please Wait"Пользователь открывает концевой выключательЯрлык меняется с основного состояния «Выберите сторону» на «Извините, я занят»Пользователь закрывает концевой выключательСмена ярлыка из вторичного состояния «Извините, я занят» обратно на «Выберите сторону»Виртуальная кнопка откатывается из вторичного состояния ["text"] = "Please Wait" до ["text"] = "Left"

Условие2: Пользователь выбирает «Право»Виртуальная светодиодная кнопка переходит из основного состояния ["text"] = "вправо" в "Please Wait"Пользователь открывает концевой выключательЯрлык меняется с основного состояния «Выберите сторону» на «Извините, я занят»Пользователь закрывает концевой выключательСмена ярлыка из вторичного состояния «Извините, я занят» обратно в «Выберите сторону»Виртуальная кнопка откатывается из вторичного состояния ["text"] = "Пожалуйста, подождите" до ["text"] = "Right"

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...