Форум сайта python.su
0
Привет эксперты, небольшая проблема с tkinter
Не понимаю как извлечь текст из пользовательского ввода, чтобы передать в функцию, как бы я сделал с input
По гайду написал это
def get_text():
x = tx.get('1.0', END)
print(x)
frame1 = Frame(root, width=12.5,height=3).grid(row=1,column=0)
frame2 = Frame(root, width=12.5,height=3).grid(row=1,column=1)
tx = Entry(frame1, width=12).grid(row=1,column=0)
button01 = Button(frame2, text='test button'',command=get_text).grid(row=1,column=1)
но гет не работает, т.к. в поле ничего не заносится
Спасибо за понимание, я нуб
Офлайн
39
Нужно указать начальную и конечную точки взятия текста.
Причем обе точки должны быть в одинаковом формате: “номер_строки.номер_буквы”. В качестве второго аргумента можно использовать “end”, т.е. “номер_строки.end”.
Офлайн
0
Решил опираясь на этот скрипт
#!/usr/bin/python
#coding=UTF-8
from Tkinter import *
def callback():
print text.get()
root = Tk()
text = Entry(root)
text.bind('<Return>', lambda e:callback())
text.pack()
# Перевести курсор в поле ввода
text.focus_set()
# Теперь кнопка поддерживает ЛКМ, пробел
b = Button(root, text=“Ввести и выйти”, width=10, command=callback())
# Теперь кнопка поддерживает Enter
b.bind('<Return>', lambda e:callback())
b.pack()
root.mainloop()
Офлайн