2010-11-07 107 views
0
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小窗口部件

回答

1

您不提供texttext1的父项。当你打电话给Text()时,你需要给它一个像Text(win1)Text(frame)这样的参数,这样Tkinter就知道要把Text部件打包在什么上面。

+0

谢谢你帮助很多,它现在的作品:) – SourD 2010-11-07 02:05:38

+0

是迂腐,第一个参数不告诉Tkinter“什么打包文本小工具”。相反,它定义了小部件的父代。副作用是'grid','pack'和'place'默认将小部件放在他们的父母身上。 – 2010-11-07 23:10:07

相关问题