Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PyQt5焦点QMainWindow作为第一个窗口_Python_Python 3.x_Pyqt_Pyqt5 - Fatal编程技术网

Python PyQt5焦点QMainWindow作为第一个窗口

Python PyQt5焦点QMainWindow作为第一个窗口,python,python-3.x,pyqt,pyqt5,Python,Python 3.x,Pyqt,Pyqt5,我正在pyqt中构建一个应用程序,另一个应用程序使用另一个未在pyqt中构建的图形界面调用该应用程序。我有一个QMainWindow,问题是当引导出现在另一个应用程序后面时,我不知道如何使它与焦点一起出现。 我尝试在构造函数中传递窗口类型 Qt_WindowType 但不起作用 这是我的课 class Foo(QMainWindow): def __init__(self, logger): super(Foo, self).__init__() # m

我正在pyqt中构建一个应用程序,另一个应用程序使用另一个未在pyqt中构建的图形界面调用该应用程序。我有一个QMainWindow,问题是当引导出现在另一个应用程序后面时,我不知道如何使它与焦点一起出现。 我尝试在构造函数中传递窗口类型

Qt_WindowType
但不起作用

这是我的课

class Foo(QMainWindow):
    def __init__(self, logger):
        super(Foo, self).__init__()
        # more code...
        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = ScanGui(logger)
    sys.exit(app.exec_())

Thx.

根据您要查找的内容,我建议您查看一下此标志:

self.setWindowFlags(Qt.WindowStaysOnTopHint)
你也可以使用情态


而不是WindowStayOnTopHint,两者(Qt.WindowModal和Qt.ApplicationModal)都允许其他应用程序位于模式窗口的顶部。

Thx。它起作用了!我可以使用self.setWindowModal(QtCore.Qt.WindowModal)或self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)将父窗口传递给我希望在以后显示的所有子窗口。非常感谢。是的!!干杯如果你需要更好地理解哪一个更适合你的问题,只需查看我链接的链接。)如果您希望您的模式在全屏窗口上可见,则此操作不起作用。是的@Fusion,关于这一点,您可能必须通过QProcess.pid()处理其“pid”,并调用底层操作系统API来执行此操作。更简单的方法是使用“.close()”和“.open()”或“.show()”将其置于前端。这是我通常所做的,哈哈。