小编Fur*_*ing的帖子

如何让pyqt5中的应用程序窗口保持在顶部?

我正在尝试在 pyqt5 中制作一个桌面应用程序,它将保留在所有窗口之上。我一直在网上查找,他们都说解决方案是使用该setWindowFlags(Qt.WindowStaysOnTopHint)方法设置窗口标志,但这对我不起作用。我还有其他方法可以做到这一点吗?

我使用的是 Windows 10 并使用 Python 3.6 + pyqt5 版本 5.9.2。我的代码如下:

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys


class Main(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowFlags(Qt.WindowStaysOnTopHint)
        self.initUI()
        self.show()

    def initUI(self):
        self.alertWidget = AlertWidget()
        self.setCentralWidget(self.alertWidget)


class AlertWidget(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        grid = QGridLayout()
        self.setLayout(grid)
        grid.setAlignment(Qt.AlignTop)

        self.alertTextBox = QTextEdit()
        grid.addWidget(self.alertTextBox, 0, 0)

if __name__ == '__main__':
        app = QApplication(sys.argv)
        main = Main()
        sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

python qt python-3.x pyqt5

2
推荐指数
1
解决办法
8507
查看次数

标签 统计

pyqt5 ×1

python ×1

python-3.x ×1

qt ×1