pyqt 取消后退出程序 打开文件对话框_通过模式对话框关闭PyQt应用程序

在使用PyQt4开发的应用程序中,当用户在模式对话框中点击取消时,如何确保程序能正确退出?问题在于,虽然调用了QMainWindow的close()方法,但应用仍会继续运行,尤其是当对话框被多次打开时。示例代码展示了问题的细节,包括主窗口、对话框的实现以及用户交互。寻求解决方案。
摘要由CSDN通过智能技术生成

我目前正在使用qt4python绑定编写一个应用程序,该绑定要求用户提供登录凭据。在我的应用程序启动时,我显示了一个模式对话框,用户可以在其中输入数据。由于应用程序在用户未登录时无法提供有用的服务,因此如果用户单击“取消”按钮,我想关闭应用程序。在

因此,如果对话框返回一个否定的结果,我只调用我的QMainWindow的close()方法。通常这会导致应用程序退出,因为不再有可交互窗口。在

但是,如果以前显示过模式对话框,应用程序只会继续运行,我必须手动终止它。在

下面是一个最小示例的代码

在主.py以下内容:import sys

from PyQt4.QtGui import QApplication

from MyMainWindow import MyMainWindow

app = QApplication(sys.argv)

window = MyMainWindow()

window.show()

app.exec_()

print "Terminated"

在我的主窗口.py以下内容:

^{pr2}$

在我的对话框.py以下内容:from PyQt4.QtGui import QDialog

from PyQt4 import QtGui

class MyDialog(QDialog):

def __init__(self, parent = None):

QDialog.__init__(self, parent)

self.setWindowTitle("Modal Dialog")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值