我目前正在使用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")