Skip to main content
 首页 » 编程设计

python之pyside 第二个 qt gui 没有出现

2025年05月04日24三少

我的 python 脚本中有一个 Qapplication,它为我的聊天服务器提供了一个登录界面。 登录完成后,我想调用我的聊天图形用户界面。为此,我使用了以下内容 代码:

app = QApplication(sys.argv) 
form = LoginWindow() 
form.show() 
app.exec_() 
#login done 
form = ChatWindow() 
form.show() 
app.exec_() 

当我用聊天的“空”图形用户界面启动它时,它就起作用了。所以只有必要的东西才能启动。然而,当我开始连接信号并填充第二个窗口时,它就不再显示了。控制台从 init 的开头打印一条语句,但之后它变得安静并且没有 gui 存在。

有谁知道我该如何解决这个奇怪的问题?应该如何切换表单?

请您参考如下方法:

登录窗口应该是QDialog 的子类,以便它可以与主应用程序分开运行。 QDialog 有自己的事件循环,并提供一个返回代码,可用于检查用户执行了哪些操作。

因此,鉴于此,您的代码将变为:

app = QApplication(sys.argv) 
dialog = LoginWindow() 
if dialog.exec_() == QDialog.Accepted: 
    window = ChatWindow() 
    window.show() 
    app.exec_() 
else: 
    print('Login cancelled')