PyQt5消息框立即关闭

时间:2019-03-20 21:44:47

标签: python pyqt

这是我的代码:

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QFileDialog, QMessageBox
from config_assign_ui import Ui_ConfigAssign
import pyodbc
import pandas as pd

class Main(QtWidgets.QMainWindow, Ui_ConfigAssign):
    def __init__(self):
        QtWidgets.QMainWindow.__init__(self)
        self.setupUi(self)
        self.combo_list()
        self.ImportMapButton.clicked.connect(lambda: self.import_map())
        self.ExceptButton.clicked.connect(lambda: self.except_file())

    def except_file(self):
        if self.ExceptCheckBox.isChecked():
            print('will do stuff')
        else:
            mb = QMessageBox()
            mb.setWindowTitle('Error')
            mb.setText('Please check exception box first')
            mb.setStandardButtons(QMessageBox.Ok)
            mb.show()

if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    window = Main()
    window.show()
    sys.exit(app.exec_())

消息框打开,但是当我按下按钮时立即关闭。根据我的研究,此消息框在__init__的末尾超出范围,但是我不确定这意味着什么。我尝试将其中一行更改为:

mb = self.QMessageBox()

但是会导致AttributeError:'Main'对象没有属性'QMessageBox'。帮助总是值得赞赏的。谢谢。

0 个答案:

没有答案