Tkinter Toplevel Widget - PullRequest
       2

Tkinter Toplevel Widget

0 голосов
/ 07 ноября 2010
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 Ответ

1 голос
/ 07 ноября 2010

Вы не предоставляете родителя для text или text1.Когда вы вызываете Text(), вам нужно дать ему аргумент, например Text(win1) или Text(frame), чтобы Tkinter знал, куда упаковывать виджет Text.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...