首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Toplevel方法?

如何使用Toplevel方法?
EN

Stack Overflow用户
提问于 2017-06-06 22:14:01
回答 1查看 152关注 0票数 0

嗨,我试着在tkinter中使用toplevel方法,但它不起作用…当有方法并行运行时,在两个方法中不同时间打开两个窗口应该写些什么?决定与接收方法并行运行的方法...代码在"window = Toplevel(root)“的接收方法中卡住了。当然,它得到了一个信息,但我不想让你们泛滥…

代码语言:javascript
复制
from Tkinter import *
import threading


def decide_what(self):

    global root
    root = Tk()

    root.title("options")
    root.geometry("600x250")
    root.resizable(width=FALSE, height=FALSE)  # cant resize

    self.label = Label(root, text='CHOOSE YOUR FIRST OPTION!', font=30)
    self.label.place(x=200, y=13)

    self.button1 = Button(root, text='PrivateChat', font=30, 
    command=self.private)
    self.button1.place(x=1, y=50, width=200, height=199)

    self.button2 = Button(root, text='GroupChat', font=30, 
    command=self.group)
    self.button2.place(x=201, y=50, width=199, height=199)

    self.button3 = Button(root, text='BroadCast', font=30, 
    command=self.broadcast)
    self.button3.place(x=400, y=50, width=200, height=199)

    self.button4 = Button(root, text='WAIT', font=30, command=self.wait)
    self.button4.place(x=500, y=10)

    root.mainloop()


def receiving_message(self):  # a function that responsible to receive a message from the server, **shes in a class**

    print "receive??????????????????"
    while True:

        data = self.sock.recv(1024)

        data = decryption(data)
        print "data", data

        if data[:2] == "Br":

            print "got into br"

            window = Toplevel(root)
            print "window V"

            window.title("BroadCastZone")
            label = Label(window, text=data)
            label.pack()
            button = Button(window, text="ok", command=window.destroy)
            button.pack()

            print data
EN

回答 1

Stack Overflow用户

发布于 2017-06-06 23:26:57

所有tkinter代码都需要在同一个线程中运行。如果receiving_message在单独的线程中运行,它就不能创建Toplevel的实例。它需要向主线程发送一条消息,并要求它打开一个窗口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44392445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档