2014-11-05 126 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) 

这是我写在Gedit上的Python代码。当我尝试使用终端命令调用python代码时,屏幕上不显示任何窗口。这可能是什么原因?无法创建tkinter窗口

回答

4

在某些系统上,你需要调用Tk.mainloop方法在程序结束:

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

否则将会启动Tcl解释并建立窗口。

+0

谢谢,它的工作。 – user2738777 2014-11-05 17:02:06

+0

为了更有学问,总是需要'mainloop'。但是,一些交互式环境(如IDLE)会自动为您执行此操作。如果您希望脚本能够独立运行,您必须调用'mainloop'。 – 2014-11-05 20:50:44