Недавно начал программировать на Python. Только что познакомился с конструкторами.
Очередная задача: создать текстовое поле 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()
Хочу создать конструктор. Делаю:
#!/usr/bin/python
#coding=UTF-8
#from main import *
#command_title=command()
import Tkinter as tk
class App:
def callback(self,mes):
return mes
def __init__(self,root):
text_field=tk.Entry(root)
text_field.bind('<Return>', lambda e:self.callback(mes))
mes=text_field.get()
text_field.pack()
# Перевести курсор в поле ввода
text_field.focus_set()
# Теперь кнопка поддерживает ЛКМ, пробел
#b = Button(root, text="Ввести и выйти", width=10, command=callback())
# Теперь кнопка поддерживает Enter
#b.bind('<Return>', lambda e:callback())
#b.pack()
if __name__ == "__main__":
root=tk.Tk()
app=App(root)
root.mainloop()