Tkinter的Toplevel小窗口部件
问题描述:
def WhoisWin():
win1 = Toplevel()
win1.title("Whois")
win1.config(bg="black")
win1.geometry("300x300")
win1.resizable(0,0)
text = Text()
text1 = Text()
text1.config(width=15, height=1)
text1.config(bg="black", fg="white")
text1.pack()
def button1():
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("com.whois-servers.net", 43))
s.send(text1.get("1.0", END) + "\r\n")
response = ''
while True:
a = s.recv(4096)
response += a
if a == '':
break
s.close()
text.insert(END, response)
def clear():
text.delete("1.0", END)
text1.delete("1.0", END)
frame = Frame(win1)
frame.config(bg="black")
frame.pack(pady=10, padx=5)
b = Button(frame, text="Enter", width=10, height=2, command=button1)
b.config(fg="white", bg="black")
b.pack(side=LEFT, padx=5)
c = Button(frame, text="Clear", width=10, height=2, command=clear)
c.config(fg="white", bg="black")
c.pack(side=RIGHT, padx=5)
scrollbar = Scrollbar(win1)
scrollbar.pack(side=RIGHT, fill=Y)
text.config(width=35, height=15, bg="black", fg="white")
text.pack(side=LEFT, fill=Y)
scrollbar.config(command=text.yview)
text.config(yscrollcommand=scrollbar.set)
这仅仅是一个子窗口,当您单击菜单上弹出,我没有得到任何错误,但文字和Tex1是不是子窗口上可见,但是当我运行这个代码在它自己的根窗口它工作只是发现,也许身份是乱了或什么的?任何帮助将不胜感激,谢谢。Tkinter的Toplevel小窗口部件
答
您不提供text
或text1
的父项。当你打电话给Text()
时,你需要给它一个像Text(win1)
或Text(frame)
这样的参数,这样Tkinter就知道要把Text部件打包在什么上面。
谢谢你帮助很多,它现在的作品:) – SourD 2010-11-07 02:05:38
是迂腐,第一个参数不告诉Tkinter“什么打包文本小工具”。相反,它定义了小部件的父代。副作用是'grid','pack'和'place'默认将小部件放在他们的父母身上。 – 2010-11-07 23:10:07