Недавно начал программировать на 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()

