AttributeError:'bool'对象没有属性'accept'

时间:2015-11-21 21:29:42

标签: python-2.7 pyqt4 attributeerror mainwindow

我是使用python和PyQt的新手,我正在为我的大学制作一个PyQt项目。我正在写这段代码:

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4 import uic

class Ventana(QMainWindow):
    def __init__(self):
        super(QMainWindow, self).__init__()
        uic.loadUi("MainVentanaNew.ui", self)
        self.showMaximized()
        self.setMinimumSize(250,200)

#Menubar elements
        self.actionNuevo.setShortcut("Ctrl+n")
        self.actionNuevo.setStatusTip("Crea un nuevo archivo")

        self.actionSalir.setShortcut("Alt+F4")
        self.actionSalir.setStatusTip("Cierra la aplicación")
        self.actionSalir.triggered.connect(self.closeEvent)

    def closeEvent(self, event):
        self.statusBar().showMessage("Saliendo de la aplicación")
        preguntar = QMessageBox.question(self, "Salir...", 
        "¿Seguro desea salir", QMessageBox.Yes | QMessageBox.No)
        if preguntar == QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()

app = QApplication(sys.argv)
window = Ventana()
window.show()
sys.exit(app.exec_())

我的代码中的缩进是正确的,也许我在这里复制它时犯了一些错误,但没关系。所以,我的问题是,当我构建它时,它会抛出这个错误:

“AttributeError:'bool'对象没有属性'accept'”,

当我想使用菜单栏的元素“self.actionSalir”关闭主窗口时。但是,当我以任何其他方式关闭它时,它的工作原理。

我该怎么做才能做到这一点?我的意思是,使用菜单栏的元素关闭主窗口?

感谢您的时间和答案。

1 个答案:

答案 0 :(得分:0)

self.actionSalir.triggered.connect(self.close)

对我来说效果很好。