Уведомления

Группа в Telegram: @pythonsu

#1 Май 23, 2019 12:26:16

panama555
Зарегистрирован: 2019-02-19
Сообщения: 175
Репутация: +  4  -
Профиль   Отправить e-mail  

Проверка ввода текста в tkinter.Text

Привет!
такой вопрос:
мне нужно при вводе текста в tkinter.Text контролировать правильность ввода
Конкретно мне нужно вводить строку из нулей и единиц (двоичная система), или строку из символов “0-7” (восьмеричная система)
Я хочу, чтобы в случае если пользователь случайно выбрал другой (неподходящий) символ, то программа игнорировала бы его.
Подскажите, как проще это реализовать?

Офлайн

#2 Май 23, 2019 18:23:29

rami
Зарегистрирован: 2018-01-08
Сообщения: 281
Репутация: +  72  -
Профиль   Отправить e-mail  

Проверка ввода текста в tkinter.Text

panama555
Я хочу, чтобы в случае если пользователь случайно выбрал другой (неподходящий) символ, то программа игнорировала бы его.
Для этой задачи нужен виджет Entry (поле ввода), а не Text (текстовый редактор). У Entry есть такой функционал, а у Text нет.

Минимальный пример:
 from tkinter import Tk, Entry
 
def valid(S):
    if S in '01234567':       #для восьмеричной системы
        return True
    return False
 
root = Tk()
entry = Entry(root, validate="key", validatecommand=(root.register(valid), '%S'))
entry.pack()
root.mainloop()

Офлайн

#3 Май 23, 2019 23:45:32

panama555
Зарегистрирован: 2019-02-19
Сообщения: 175
Репутация: +  4  -
Профиль   Отправить e-mail  

Проверка ввода текста в tkinter.Text

Спасибо. То, что нужно.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version