Pyqt5:如果使用Twisted,closeEvent不会终止应用程序

2024-10-06 11:34:09 发布

您现在位置:Python中文网/ 问答频道 /正文

closeEvent方法被执行(我可以看到,多亏了日志),appWindow隐藏了,但是应用程序没有结束:在启动它的控制台中保持打开状态。你知道吗

代码:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
from PyQt5.QtWidgets import QApplication, QMainWindow
import sys
app = QApplication(sys.argv)
import qt5reactor
qt5reactor.install()
from twisted.internet import reactor
from twisted.python import log


class AppWindow(QMainWindow):

    def __init__(self, reactor):
        super().__init__()
        self.reactor = reactor
        self.setObjectName('AppWindow')
        self.initUI()

    def initUI(self):
        self.resize(1200, 700)
        self.show()

    def closeEvent(self, e):
        log.msg("Close app event")
        self.reactor.stop()
        e.accept()

# Create window and run reactor
log.startLogging(sys.stdout)
win = AppWindow(reactor)
reactor.run()

Tags: fromimportselflogappinitdefsys