2014-11-05 3 views
1
from Tkinter import * 
root=Tk() 
frame1=Frame(root) 
frame2=Frame(root) 
str=StringVar() 
text=Text(frame2,width=5,height=20) 
def response(): 
    b=text.get("1.0","END-1c") 
    str.set(b) 
text=Text(frame2,width=5,height=20) 
button=Button(frame2,width=3,height=3,text="SEND",command=response) 
text.pack(side=LEFT) 
button.pack(side=RIGHT) 
label=Label(frame1,width=10,height=50,textvariable=str) 
label.pack() 
frame1.pack(side=TOP,fill=X) 
frame2.pack(side=BOTTOM,fill=X) 

Этот код Python, который я написал на Gedit. Когда я пытаюсь вызвать код python с помощью команды терминала, на экране не появляется окно. Что может быть причиной этого?Не удалось создать окно tkinter

ответ

4

На некоторых системах, вам нужно вызвать метод Tk.mainloop в конце вашей программы:

root=Tk() 
... 
root.mainloop() 

Это запускает интерпретатор Tcl и устанавливает окно.

+0

спасибо, это сработало. – user2738777

+0

Чтобы быть немного более педантичным, всегда требуется 'mainloop'. Однако некоторые интерактивные среды, такие как IDLE, сделают это автоматически. Если вы хотите, чтобы ваш скрипт мог работать автономно, вы должны называть 'mainloop'. –

Смежные вопросы