如何解决Windows 上的 Qt 半透明/透明窗口带框架
https://doc.qt.io/qt-5/qwidget.html#creating-translucent-windows
QWidget 的文档指出,需要在顶级小部件上设置 Qt::FramelessWindowHint 标志,以使其在 Windows 操作系统中的窗口半透明(或透明)(以查看其背后的桌面和其他应用程序窗口)与 Qt:: WA_TranslucentBackground 属性。
但我想通过框架实现窗口半透明,没有 Qt::FramelessWindowHint 标志,以便能够看到窗口边界并调整窗口大小。如果我移除标志,我会得到一个黑色窗口。
而且我不明白我需要设置 Qt::FramelessWindowHint 标志以获得半透明的技术原因是什么,为什么 Windows 不能以半透明的方式渲染窗口,但带有框架?可以解决吗?
我也试过一堆行:
setStyleSheet("background: transparent;");
setAttribute(Qt::WA_TranslucentBackground);
setAttribute(Qt::WA_OpaquePaintEvent);
setAttribute(Qt::WA_NoSystemBackground);
setAttribute(Qt::WA_PaintOnScreen);
setAttribute(Qt::WA_NativeWindow);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。