使用pyqt4事件时的AttributeError

时间:2014-06-22 14:24:11

标签: python python-2.7 user-interface pyqt4

我有一些像这样的pyqt4脚本:(编辑)

self.retranslateUi(Dialog)
    self.close_pushButton.clicked.connect(self.closeApp)

def retranslateUi(self, Dialog):
    Dialog.setWindowTitle(_translate("Dialog", "Main App", None))
    self.close_pushButton.setText(_translate("Dialog", "Close", None))

def closeApp(self, event):
    result = QtGui.QMessageBox.question(self, 'Exit Application',
          "Are you sure you want to exit?",
          QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
    if result == QtGui.QMessageBox.Yes:
       event.accept()
    else:
       event.ignore()

当我运行脚本时,总会显示如下错误消息:

  

属性错误:' bool'对象没有属性'接受'

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您的closeApp功能肯定应该是这样的:

def closeApp(self):  # event not required
    result = QtGui.QMessageBox.question(self, 'Exit Application',
                                        "Are you sure you want to exit?",
                                        QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
    if result == QtGui.QMessageBox.Yes:
        self.close()

有关close()的信息,请参阅http://doc.qt.io/qt-4.8/qwidget.html#close

希望这有帮助。