python - 让窗户永远留在后面
问题描述
在 Windows 10 上,我试图让一个窗口始终位于底部;也就是说,它总是显示在其他窗口的后面,不能放在它们上面。我已经看到最简单的解决方案是使窗口成为桌面的子窗口;然而,我在这方面取得了喜忧参半的成功。在这种情况下,将窗口设置为桌面子窗口的不良副作用不是问题。我试过让我的窗口成为 SysListView32、SHELLDLL_DefView 和 Progman 的子窗口。在前两种情况下,窗口确实正确地留在后面,尽管由于某种原因它是部分透明的,并且可以在其后面看到桌面背景(但看不到桌面上可能存在的任何文件/文件夹)。在最后一种情况下,窗口根本看不到。有没有办法解决透明度问题,还是我没有让我的窗口成为右窗口的孩子?如果重要的话,我使用 Python 3.7 和 Pygame(基于 SDL)来创建我的窗口。
解决方案
我没有找到其他解决方案,而是通过使用 SetWindowLong 在我的窗口上启用扩展窗口样式 WS_EX_LAYERED 来解决透明度问题。
推荐阅读
- android - 每次我进行更改时,Android Studio Canary 4.2 都会自动重建我的项目
- qt - ListView QML中图像的来源是什么
- wordpress - addEventListener 用于将 gtag 事件跟踪到 Wordpress 页面
- javascript - 如何在 web js 文件中“要求”requirejs?
- django - 在 django 中将属性添加到其他应用程序的模型
- javascript - Spring Boot 和 JavaScript:如何访问 promise 对象字段?
- flutter - 在两个单独的小部件之间为定位容器设置动画
- reactjs - 错误:“node-sass”版本 5.0.0 与 ^4.0.0 不兼容
- javascript - Redux React 路由器:无法访问受保护/私有路由
- javascript - 生成最小值和最大值之间的数字数组,但也生成两个值之间的固定间隔