pySide2和pyQt如何把界面置顶,放在最前面显示。

2020-05-25  本文已影响0人  WMSmile

pySide2 开发遇到这样的问题,当程序在运行时,被其他软件界面覆盖,弹窗无法弹到屏幕最前面。

问题解决办法:

1、 一直置顶

self.setWindowFlags(QtCore.Qt.WindowMinimizeButtonHint |  # 使能最小化按钮
                    QtCore.Qt.WindowCloseButtonHint |  # 使能关闭按钮
                    QtCore.Qt.WindowStaysOnTopHint)  # 窗体总在最前端

2、弹出某个界面置顶,当页面运行的时候,界面无法显示在最前面的问题。

C++

 Qt::WindowFlags flags = windowFlags();
 this->setWindowFlags((flags | Qt::WindowStaysOnTopHint));
 this->showMaximized();
 this->setWindowFlags(flags);
 this->showMaximized();

Python

def show_front(self):
    flags = self.windowFlags()
    self.setWindowFlags(flags | Qt.WindowStaysOnTopHint)
    self.show()
    self.setWindowFlags(flags)
    self.show()

上一篇 下一篇

猜你喜欢

热点阅读