Tkinter Toplevel小工具

时间:2010-11-07 01:54:30

标签: python tkinter

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)

这只是一个子窗口,当您单击菜单时会弹出,我没有收到任何错误,但Text和Tex1在子窗口中不可见,但是当我在自己的根窗口上运行此代码时它的工作原理只是找到,也许这个身份搞砸了什么?任何帮助将不胜感激,谢谢。

1 个答案:

答案 0 :(得分:1)

您没有为texttext1提供父级。当你致电Text()时,你需要给它一个像Text(win1)Text(frame)这样的参数,以便Tkinter知道将文本小部件打包的内容。