Уведомления

Группа в Telegram: @pythonsu

#1 Июль 2, 2015 05:18:45

baterson
Зарегистрирован: 2015-06-28
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter проблема с тектосвым полем

Привет эксперты, небольшая проблема с 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)

но гет не работает, т.к. в поле ничего не заносится
Спасибо за понимание, я нуб

Офлайн

#2 Июль 2, 2015 13:29:09

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

tkinter проблема с тектосвым полем

Нужно указать начальную и конечную точки взятия текста.
Причем обе точки должны быть в одинаковом формате: “номер_строки.номер_буквы”. В качестве второго аргумента можно использовать “end”, т.е. “номер_строки.end”.

Офлайн

#3 Июль 3, 2015 04:22:54

baterson
Зарегистрирован: 2015-06-28
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

tkinter проблема с тектосвым полем

Решил опираясь на этот скрипт

#!/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()

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version