Ошибка PyQt 5 при выходеPython

Программы на Python
Ответить
Anonymous
 Ошибка PyQt 5 при выходе

Сообщение Anonymous »

При выходе из графического интерфейса возникает ошибка:


Ошибка: «python.exe перестал работать»


Это происходит, когда я выхожу, используя опцию выхода из верхнего меню и панели инструментов. И это также происходит, когда я закрываю программу по "X" в правом верхнем углу.

Однако, когда я комментирую строку:

Код: Выделить всё

self.mainToolBar.addAction(exitAction)
Значок «X» в правом верхнем углу не приводит к возникновению этой ошибки.

Для опции выхода на панели инструментов и верхнее меню я использую это:

Код: Выделить всё

exitAction.triggered.connect(qApp.quit)
Следуйте коду:

Код: Выделить всё

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()
Как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/201 ... or-on-exit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»