title: make the QMessageBox or QmainWindow in front of any overlapping sibling widgets?
body: <p>If the active window belongs to some other process,how to make the QMessageBox or QmainWindow of this example in front of any overlapping sibling widgets when timeout ?
  I tried raise_() and activateWindow() ,but both don’t work on WinXP</p>
  
  <pre><code>import sys
  from PyQt4.QtGui import *
  from PyQt4.QtCore import *
  
  class MainWindow(QWidget):
      def __init__(self, parent=None):
          super(MainWindow, self).__init__(parent)
          self.resize(800,600)
  
          self.lcdNumber = QLCDNumber()
          self.lcdNumber.setNumDigits(8)
  
          layout =  QVBoxLayout(self)
          layout.addWidget(self.lcdNumber)
  
          self.currentTime = QTime(0,0,0)
          self.lcdNumber.display(self.currentTime.toString('hh:mm:ss'))
  
          self.timer = QTimer(self)
          self.timer.timeout.connect(self.updateLcdNumberContent)
          self.timer.start(1000)
  
      def updateLcdNumberContent(self):
  
          self.currentTime = self.currentTime.addSecs(1)
          self.lcdNumber.display(self.currentTime.toString('hh:mm:ss'))
  
  
          if self.currentTime == QTime(0,0,4) :
              msgBox = QMessageBox(self)
              msgBox.setWindowTitle('iTimer')
              msgBox.setIcon (QMessageBox.Information)
              msgBox.setText("Time Out !!")
  
              stopButton = msgBox.addButton("Stop", QMessageBox.ActionRole)
              ignoreButton = msgBox.addButton(QMessageBox.Ignore)
  
              stopButton.clicked.connect(self.timer.stop)
  
  
              msgBox.show()
  #            self.raise_()
  #            self.activateWindow()
  
  
  
  if __name__ == '__main__':
      app =QApplication(sys.argv)
      frame = MainWindow()
      frame.show()
      sys.exit(app.exec_())
  </code></pre>