我试着做一个聊天与用户登录,然后选择room.After,聊天open.In的聊天,用户可以去另一个房间。我在GUI层的主now.When (聊天)上,用户可以写下他的want.The问题是什么,当他选择去另一个房间(在这个选项中,打开另一个gui的选择房间)的gui崩溃- "python.exe已停止工作“。我的问题是,是否有可能在app.mainloop上运行应用程序,几分钟后再运行另一个app.mainloop?因为当我运行2mainloop时,问题就发生了.
下面是一些代码:
def enableChat(roomId,username):
app1 = wx.PySimpleApp(None)
frame_1 = MainGUI(None,roomId,username,"Chat")
print "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$",wx.GetTopLevelWindows()
app1.MainLoop()
def enableChooseRoom(rooms,roomsOfUser):
app2 = wx.PySimpleApp(None)
frame_2 = ChooseRoomWindow(None,rooms,roomsOfUser,title="Choosing Room")
print wx.GetTopLevelWindows()
app2.MainLoop()
return choice
t3 = threading.Thread(target=enableChat,args=(1,"ido",))
t3.start()
t4 = threading.Thread(target=enableChooseRoom,args=("1-sport 1-sport 2-movie","",))
t4.start()谢谢
发布于 2015-03-11 01:49:04
不能同时运行两个主循环。如果用户进入了一个不同的房间,你应该在同一个应用程序中打开一个新的框架、标签等。您可以使用主应用程序中的许多其他框架,也可以使用Notebook小部件并遵循Pidgin的设计,在新选项卡中打开新的房间/聊天会话。
此外,wx.PySimpleApp也已弃用。您应该改用wx.App(False)。
https://stackoverflow.com/questions/28969374
复制相似问题