PyQt 5-Fehler beim BeendenPython

Python-Programme
Anonymous
 PyQt 5-Fehler beim Beenden

Post by Anonymous »

Ich erhalte eine Fehlermeldung, wenn ich meine GUI verlasse:


Fehler: „python.exe funktioniert nicht mehr“


Dies passiert, wenn ich das Programm mit der Top-Menü- und Symbolleisten-Exit-Option beende. Und es passiert auch, wenn ich das Programm über das „X“ oben rechts schließe.

Wenn ich jedoch die Zeile kommentiere:

Code: Select all

self.mainToolBar.addAction(exitAction)
Das „X“ oben rechts führt nicht zu diesem Fehler.

Für die Exit-Option in der Symbolleiste und oberes Menü, das ich verwende:

Code: Select all

exitAction.triggered.connect(qApp.quit)
Folgen Sie dem Code:

Code: Select all

class Example(QMainWindow):

def __init__(self):
super(Example, self).__init__()

self.initUI()

def initUI(self):
self.topmenu()
self.toolbar()

self.resize(800, 600)
self.setWindowTitle('Example')
self.setWindowIcon(QtGui.QIcon('test.gif'))
self.show()

def topmenu(self):
#Buttons
exitAction = QAction(QtGui.QIcon('plus.gif'), '&Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.triggered.connect(qApp.quit)

#Create MenuBar
menubar = self.menuBar()
#Add options
fileMenu = menubar.addMenu('&File')
fileMenu.addAction(exitAction)

def toolbar(self):
exitAction = QAction(QtGui.QIcon('plus.gif'), 'Exit', self)
exitAction.setShortcut('Ctrl+Q')
exitAction.setToolTip("Exit")
exitAction.triggered.connect(qApp.quit)

self.mainToolBar = QToolBar(self)
self.mainToolBar.setObjectName("mainToolBar")
self.addToolBar(Qt.LeftToolBarArea, self.mainToolBar)
# Line is giving the stop problem
self.mainToolBar.addAction(exitAction)

def main():
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())

if __name__ == '__main__':
main()
Wie behebe ich das?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post