Я пытаюсь создать графический интерфейс в wxPython. У меня есть два TextCtrls. Предположим, что они first_index_input
и last_index_input
, и они управляют model.f_i
и model.l_i
, соответственно. Есть условие: для правильного выполнения модели model.f_i должно быть < = model.l_i. Поэтому содержание first_index_input
должно быть < = last_index_input
.Как обрабатывать wxPython TextCtrls, которые влияют на содержимое друг друга
Так что я хочу сделать, это исправить, так что: 1) если пользователь вводит значение в first_index_input
, которое больше, чем значение в last_index_input
(установленной в предыдущем случае использования или что-то), то last_index_input
и model.l_i
оба будут быть установленным на новый first_index_input
. 2) Если пользователь вводит last_index_input
, который меньше first_index_input
, то last_index_input
будет исправлен снова и будет установлен равным first_index_input
.
Так что же такого сложно? Речь идет о том, какое событие можно отследить. Предположим, что у first_index_input
есть контент «145», и я (правильно) хочу дать last_index_input
вход 10324. Если этот виджет отменит событие wx.EVT_TEXT, то он не будет ждать, пока я наберу «10324». Как только он видит «1» (т. Е. Первую цифру), он угасает и говорит: «НЕТ! Это меньше first_index_input
» и «исправляет» мою ввод. С другой стороны, я могу избавиться от этого, отменив команду wx.EVT_TEXT_ENTER, и все работает нормально , пока я помню, чтобы нанести ответный удар после ввода моего значения, и я никогда не помню, чтобы он возвращался, поэтому я уверен мои пользователи тоже не будут.
Есть ли другой способ сделать это? Возможно, какое-то другое событие, которое доступно? Благодарю.
Майк, отлично работает! Благодаря! –