我目前正在用python制作一个聊天应用程序。我有两个独立的代码:一个用于服务器,一个用于客户端。服务器脚本获取连接的新客户机的登录数据,并在另一个线程中管理他必须接收和发送的消息。在
客户端应用程序被制作成一个类,并且运行良好,除了当脚本请求显示UI时,唯一的新窗口是空的:
def __init__(self, master):
self.nr=0
self.frameul=self.tbox=self.txt=self.scrollbar=self.button=self.roottk=[0]*20
self.OameniSiIduri={}
self.LoginUI(master)
self.framestate=""
def ChatUI(self, peer_id):
no=self.no
self.no+=1
self.PeoplesAndId[peer_id]=no
self.base[no]=Toplevel()
self.theframe[no] = Frame(self.base[no])
self.theframe[no].pack()
self.entry[no] = Entry(self.theframe[no], width=95)
self.tbox[no] = Text(self.theframe[no], state=DISABLED, wrap=WORD)
self.button[no] = Button(self.theframe[no], text="Send", fg="green", command=lambda x=self.entry[no].get(), y=peer_id, z=self.tbox[nr]: self.Sendmsg(x,y,z), width=10)
self.tbox[no].pack(side=TOP, fill=X)
self.button[no].pack(side=RIGHT)
self.entry[no].pack(side=LEFT)
.....
声明所有变量和函数。谁能告诉我这个问题的起因是什么吗?在
我的猜测是,创建UI的代码抛出了一个你看不到的错误。例如,您是否正确导入
DISABLED
和WORD
?否则,代码将在创建框架后失败,但在创建其他小部件之前会失败,留下一个空的小部件。在调试的一种方法是给每个顶层和框架一个不同的颜色。这可以让你看到哪些是可见的,哪些是不可见的,也许你正在看着一扇窗户或一个框架,当它是另一个东西时,你会认为它是一回事。在
通宵搜索密码后发现自己错了。很明显我用这句话:
所有对象指向同一个值。在
相关问题 更多 >
编程相关推荐