Python 如何在停靠的QMainWindow上获取closeEvent或类似内容?
我想要的行为是在顶级窗口中停靠多个QMainWindows。停靠的窗口将显示应用程序的某些方面,我需要知道它们何时关闭,但Qt只在顶级小部件关闭时发出closeEvent。如何在嵌套的QMainWindow上执行等效操作?下面是示例代码Python 如何在停靠的QMainWindow上获取closeEvent或类似内容?,python,qt,pyside2,qmainwindow,Python,Qt,Pyside2,Qmainwindow,我想要的行为是在顶级窗口中停靠多个QMainWindows。停靠的窗口将显示应用程序的某些方面,我需要知道它们何时关闭,但Qt只在顶级小部件关闭时发出closeEvent。如何在嵌套的QMainWindow上执行等效操作?下面是示例代码 import sys from PySide2.QtCore import Qt from PySide2.QtWidgets import QApplication, QMainWindow, QDockWidget class MainWindow(QM
import sys
from PySide2.QtCore import Qt
from PySide2.QtWidgets import QApplication, QMainWindow, QDockWidget
class MainWindow(QMainWindow):
def __init__(self, inside:QMainWindow=None):
QMainWindow.__init__(self)
if inside:
dock = QDockWidget()
dock.setWidget(self)
inside.addDockWidget(Qt.TopDockWidgetArea, dock)
self.show()
def closeEvent(self, event):
# This is only for a top-level widget. How to know then the inner window closes?
print("closeEvent")
event.accept()
if __name__ == '__main__':
app = QApplication.instance() or QApplication()
m1 = MainWindow()
m2 = MainWindow(m1)
sys.exit(app.exec_())
有什么原因不能使用我正在使用QDockWidget。我正在嵌入另一个QMainWindow,因为我也想在嵌入的QMainWindow中创建停靠点