V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Leon6868
V2EX  ›  Python

大佬们,请问如何让 PyQt5 的控件悬浮在子窗口上方?

  •  
  •   Leon6868 · 2020-06-13 18:23:41 +08:00 · 2102 次点击
    这是一个创建于 1436 天前的主题,其中的信息可能已经有所发展或是发生改变。

    控件.png
    这个 sublime 是使用SetParent(hwnd, int(self.winId()))实现的
    我让这个蓝色的按钮悬浮在 sublime 上方,请问如何实现?

    3 条回复    2020-06-13 20:30:38 +08:00
    imn1
        1
    imn1  
       2020-06-13 19:06:56 +08:00
    没看懂
    做成 QDock 不行么?
    march1993
        2
    march1993  
       2020-06-13 19:56:21 +08:00 via iPhone
    setparent 应该不够?应该变成内嵌的一个 document 才行?
    imn1
        3
    imn1  
       2020-06-13 20:30:38 +08:00
    几个方案
    把蓝色按钮做成 ——
    1.overlay widget,背景透明,下层可见,但可见部分是覆盖性质,不能点击穿透,估计你不是要这种
    2.QDockWidget,并设置为浮动
    3.一个单独的无边框可拖动的 window/widget,设置 windowFlag 为 ontop

    我理解 parent 主要作用是座标、控件属性、父类子类方法相互调用,诸如此类继承
    想你这个实际蓝色按钮和子窗口并无什么座标或属性继承,无必要用 parent,代码中理清 namespace 能传递信号就够了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5091 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 08:00 · PVG 16:00 · LAX 01:00 · JFK 04:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.