Я создал около 5 ящиков ввода и связал их также. Примите это как модель:Python Tkinter - ящик с несколькими входами с одинаковой проверкой
def makeEntry(self, master, data):
self.entry = Entry(master, width=8, textvariable=data)
self.entry.bind("<Leave>", lambda event, value=data: self.validate(event, value))
Теперь я также способ проверки того, что проверить, если вход был строка (и если да, то изюминкой фон входа изменится на красный). Проблема, которая все еще требует много времени, заключается в том, что мне понадобится, чтобы метод мог проверять каждую запись, и если хотя бы один из них имеет красный фон, тогда конечная кнопка должна быть отключена (button.configure(state=DISABLED)
) ,
С одной записью было бы намного проще, я бы просто проверил, был ли фон красным (status = str(self.myOneEntry.cget("highlightbackground"))
), но как насчет большего количества записей?
Знаете ли вы, что виджет ввода имеет встроенную функцию проверки, которая не требует использования привязок? –
Ваш вопрос немного неясен. Вы хотите, чтобы одна функция работала с каждой записью, или вы хотите, чтобы одна функция проверяла все записи одновременно? –
@ Брайан Оукли, да, я знаю это, хотя я еще не использовал его. Я знаю, что это на самом деле немного неясно, но это из-за того, что мне не удается его реализовать. Во всяком случае, я попытался выполнить одну функцию для проверки всех записей (которые работали, но я использовал разные имена для разных записей и делал некоторые элементы управления, не используя вышеперечисленное _makeEntry_), как это сделать (второй выбор) с помощью _makeEntry_? –