加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

PyQt – 使窗口顶层

发布时间:2020-12-14 01:36:14 所属栏目:Windows 来源:网络整理
导读:当我需要时,我需要让我的窗户达到最高水平. 创建窗口代码: class Application(QtGui.QMainWindow): def __init__(self,parent=None): QtGui.QMainWindow.__init__(self,None,Qt.Tool | Qt.FramelessWindowHint) self.setFocusPolicy(Qt.StrongFocus) self.s
当我需要时,我需要让我的窗户达到最高水平.
创建窗口代码:

class Application(QtGui.QMainWindow):
    def __init__(self,parent=None):
        QtGui.QMainWindow.__init__(self,None,Qt.Tool | Qt.FramelessWindowHint)
        self.setFocusPolicy(Qt.StrongFocus)
        self.setAttribute(Qt.WA_QuitOnClose,True)

当我需要的时候:

self.setWindowFlags(Qt.WindowStaysOnTopHint)

但运行这部分代码后,我的窗口隐藏了……我不知道,它在哪里.但是我的节目没有结束!
救命!如何在需要的时刻让我的窗户最顶级?

解决方法

在窗口上调用.show()或.raise()应该使其成为焦点.

和from the doc for setWindowFlags():

Note: This function calls setParent()
when changing the flags for a window,
causing the widget to be hidden. You
must call show() to make the widget
visible again..

我只是想为其他任何发现这个问题的人添加即使使用PyQt,Q的Qt文档是一个非常好的资源,只要确保你指向适用于你的PyQt版本的Qt C文档的版本(如果你正在使用的话,最新的PyQt是针对4.4编译的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读