Guest User

Untitled

a guest
Nov 21st, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import sys
  4.  
  5. from PySide.QtCore import *
  6. from PySide.QtGui import *
  7.  
  8. class CloseEventFilter(QObject):
  9. def eventFilter(self, target, event):
  10. print event.type(), target
  11. return False
  12.  
  13. if __name__ == '__main__':
  14. #Qt boilerplate
  15. app = QApplication(sys.argv)
  16. main_window = QMainWindow()
  17. main_layout = QHBoxLayout()
  18. mdi_area = QMdiArea(main_window)
  19.  
  20. ev_filter = CloseEventFilter()
  21.  
  22. qframe1 = QFrame()
  23. qframe2 = QFrame()
  24.  
  25. qframe1.installEventFilter(ev_filter)
  26. qframe2.installEventFilter(ev_filter)
  27.  
  28. qhbox1 = QHBoxLayout()
  29. qhbox2 = QHBoxLayout()
  30.  
  31. qframe1.setLayout(qhbox1)
  32. sw1 = mdi_area.addSubWindow(qframe1, Qt.WA_DeleteOnClose)
  33.  
  34. qframe2.setLayout(qhbox2)
  35. sw2 = mdi_area.addSubWindow(qframe2, Qt.WA_DeleteOnClose)
  36.  
  37. #Make the MDI area the central widget
  38. main_window.setCentralWidget(QWidget())
  39. main_window.centralWidget().setLayout(main_layout)
  40. main_layout.addWidget(mdi_area)
  41.  
  42. main_window.show()
  43.  
  44. app.lastWindowClosed.connect(lambda: mdi_area.closeAllSubWindows())
  45.  
  46. app.exec_()
Add Comment
Please, Sign In to add comment