PyQt5:如果主窗口位于最前面,则将子窗口置于最前面

时间:2018-08-30 23:09:26

标签: python pyqt pyqt5

我已经针对父窗口及其子窗口(属于self.windowList)的行为编写了此代码。如果希望将父窗口最小化,我希望所有子窗口都最小化:

    def changeEvent(self, event):
        if event.type() == QEvent.WindowStateChange:
            if self.windowState() & Qt.WindowMinimized:
                for i in range(len(self.windowList)):
                    self.windowList[i].showMinimized()
            else:
                for i in range(len(self.windowList)):
                    self.windowList[i].showNormal()

现在,我想针对此实例实现相同的行为:如果将所有应用程序窗口都置于前台,然后单击其他某个窗口(例如Safari等),则所有窗口都位于safari后面,但是如果我单击父窗口,所有子窗口也应回到最前面。是否有与我上面为此类行为编写的代码等效的代码?我不知道,也找不到窗口状态将意味着该窗口已被带到前台。我尝试了几种可能性,包括当父级处于活动状态时为子级激活窗口,但是这样做还可以使它们从最小化中恢复,这不是我想要的行为。

0 个答案:

没有答案