gpt4 book ai didi

c++ - Qt + 无框窗口 + 合成

转载 作者:行者123 更新时间:2023-11-30 04:14:04 26 4
gpt4 key购买 nike

我正在尝试打开几个无框架的弹出窗口(顶级)。我可以通过以下方式实现这一目标:

window.setWindowFlags(Qt.FramelessWindowHint | Qt.Dialog)

但问题是 Windows 不通过操作系统合成器(例如,在 Windows 上它们没有投影)。我可以使用 Qt.Popup 和 Qt.ToolTip 标志实现窗口阴影,但它们都有行为问题,工具提示总是在最上面,弹出窗口在失去焦点时关闭。

那么,有什么方法可以显示具有默认操作系统窗口管理器阴影效果的无框窗口吗?

最佳答案

在 Windows 上找到了解决方法。但我不能用 Qt 做到这一点,所以我使用了 win32 hack。
将其添加到 QWidget 类构造函数中:

if sys.platform == 'win32':
import win32api
win32api.SetClassLong(eval(self.winId().__hex__()), -26, 0x0008 | 0x00020000)

我实际上在窗口类样式中添加了 CS_DROPSHADOW 样式

关于c++ - Qt + 无框窗口 + 合成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19099378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com