Найти - Пользователи
Полная версия: Некорректная работа bind в Tkinter.Text
Начало » GUI » Некорректная работа bind в Tkinter.Text
1
Ryo
Или, наоборот, корректная, но мне не подходит.

from Tkinter import *
root = Tk()
def get_text(event):
    print textbox.get(1.0, END)
    textbox.delete(1.0, END)
textbox = Text(root, width=25, height=3)
textbox.bind('<Return>', get_text)
textbox.pack()
root.mainloop()

После ввода текста и нажатия “Ентера” нужный текст захватывается, поле очищается, после чего в нем остается лишний ‘\n’ (я так понимаю, это “ентер” после нашей обработки события таки вводится). Он там явно лишний.
Как бы от него избавиться?
4kpt_III
KeyPress - KeyRelease, посмотрите в документации.
Ryo
Благодарю.
textbox.bind('<KeyRelease-Return>', get_text)
решает все проблемы.
Что правда, теперь этот “ентер” в сообщении откуда-то лишний берется, но там его обрезать куда проще.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB