使用QAction获取TypeError

时间:2018-02-06 06:03:56

标签: python pyqt5

执行以下代码片段时,我收到TypeError,如下所示:

  

TypeError:参数与任何重载调用都不匹配:
  QAction(QObject):参数1具有意外类型'str'QAction(str,   QObject):参数2具有意外类型'Ui_MainWindow'
  QAction(QIcon,str,QObject):参数1具有意外类型'str'

任何人都可以帮我改编吗?我对这件事情很陌生,提前谢谢!!

代码段:

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        ##
        #......some more codes
        ##
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

        #app.aboutToQuit.connect(self.closeEvent)
        quit = QAction("Quit", self)
        quit.triggered.connect(self.closeEvent)

        menubar = self.menuBar()
        fmenu = menubar.addMenu("File")
        fmenu.addAction(quit)


    def retranslateUi(self, MainWindow):
        ## codes


    def closeEvent(self, event):
        choice = QtGui.QMessageBox.question(self.centralwidget,"Quit message","Are you sure you want to leave?",QtGui.QMessageBox.Yes | QtGui.QMessageBox.No)
        if choice == QtGui.QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()



if __name__ == "__main__":
    import sys

    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()

    sys.exit(app.exec_())

0 个答案:

没有答案