title: children widget's closeEvent is not getting called on close
body: <p>Either I don't understand completely how Qt's event propagation works or something, but I cannot understand why exactly closeEvent is not being called both for QPushButton-derived class and for QWidget-derived one itself.</p>
  
  <p>Shouldn't wid.closeEvent() trigger closeEvents of all children widgets?</p>
  
  <pre><code>#!/bin/env python
  # -*- coding: utf-8 -*-
  import sys, os
  from Qt.QtCore import *
  from Qt.QtWidgets import *
  from Qt.QtGui import *
  
  class butt(QPushButton):
      def __init__(self, parent, name='Button'):
          super(self.__class__, self).__init__(parent)
          self.name = name
  
      def closeEvent(self, e):
          print('butt closeevent')
          e.accept()
  
  
  class wid(QWidget):
      def __init__(self, parent=None):
          super(self.__class__, self).__init__(parent)
          self.initUI()
  
      def initUI(self):
          #self.setAttribute(Qt.WA_DeleteOnClose)
          self.vl = QVBoxLayout(self)
          self.button = butt(self)
          self.button.setText('test1')
          self.vl.addWidget(self.button)
          self.button.clicked.connect(QCoreApplication.quit)
  
      def closeEvent(self, e):
          print('wid closeevent')
          e.accept()
  
  
  def show():
      app = QApplication(sys.argv)
      win = QMainWindow()
      widget = wid(win)
      win.setCentralWidget(widget)
      win.show()
      app.exec_()
  
  
  if __name__ == "__main__":
      show()
  </code></pre>
  
  <p>I'm expecting to see 2 lines
      wid closeevent
      butt closeevent
  as an output, but I see nothing. Why closeEvent it not being called for them?</p>