我知道这是一个很长的镜头,但我想知道如果Python有办法操纵屏幕缓冲区。具体来说,我希望能够在按下组合键时将我的桌面变灰并突出显示我的窗口。这是否有可能?在Python中操作屏幕缓冲区
1
A
回答
2
从您的问题和随后的评论中,PyQt将是一个不错的选择,您将拥有三个平台的通用代码。
虽然使用库函数,但您必须将其作为GUI进行开发,这也意味着您将不得不重新考虑GUI的可能性,以及尊重常规GUI约定的方式:用户可能不希望你的应用程序修改他们最喜欢的桌面背景或表现怪异。
例如,有一种方法来bring your application to the foreground(答案中给出的例子是用C++语言编写的,但是在Python中有相同的方法,代码会非常相似)。
Qt最初是一个C++框架,最近被诺基亚收购,如果你也熟悉那种语言,你应该在决定选择哪个之前考虑它,但无论如何PyQt不会让你失望,它已经相当成熟了稳定。
关于许可证,如果您的问题之一,PyQt是GPL和商业许可证也可用。另一个Python Qt移植正在与LGPL许可证合作,诺基亚在PyQt作者拒绝更改其许可证后推动:PySide,但它仍处于早期开发阶段。
最后,我要提的是Qt是不是Python的唯一的GUI框架,通过搜索,你会发现与该主题上的其他问题,与其他建议:
2
而不是“灰色”的桌面,尝试覆盖整个屏幕上的灰色,半透明的图像,然后确保你的窗口是最重要的。您可能会遇到一些小问题;例如,如果可以覆盖mac菜单栏(我不确定你想要),我不知道该如何处理。
相关问题
- 1. 在Windows屏幕上渲染缓冲区
- 2. 控制台中的屏幕缓冲区
- 3. 缓冲区的屏幕命令
- 4. 渲染到帧缓冲区和屏幕
- 5. perl中的缓冲区操作
- 6. 如何在PowerShell中查找最小屏幕缓冲区宽度?
- 7. OpenGL模板缓冲区OR操作?
- 8. OpenGL像素缓冲区直接在Linux和Mac OSX屏幕上
- 9. 如何访问Android中的主屏幕/ OpenGL缓冲区?
- 10. 在Vim缓冲区中的Python?
- 11. Android从Java获取原生屏幕缓冲区
- 12. GNU屏幕:文件到编号的缓冲区?
- 13. OpenGL - 顶点缓冲区对象没有绘制到屏幕
- 14. 如何编写ANSI C控制台屏幕缓冲区?
- 15. Mac os x Terminal.app的缓冲区和屏幕命令
- 16. OpenGL-ES 1.1 iPhone - 深度缓冲区导致洋红色屏幕
- 17. 来自屏幕外缓冲区的Android NDK glReadPixels()
- 18. 终端仿真器滚动缓冲区不保留ncurses屏幕
- 19. Emacs/Python:在线缓冲区与块缓冲区模式下运行python-shell
- 20. Python缓冲区解码
- 21. Python/PyAudio - 缓冲区欠载
- 22. 4K屏幕在Windows捕获并直接保存到缓冲区中
- 23. 缓冲direct3d绘制操作
- 24. 缓冲区溢出缓冲区长度
- 25. 帧缓冲区/颜色缓冲区?
- 26. 作为帧缓冲区存储的纹理缓冲区对象
- 27. 在缓冲区列表视图中增加“缓冲区”列宽
- 28. 如何在协议缓冲区的Python
- 29. Python中的二进制缓冲区
- 30. Python的打印函数在调用缓冲区时刷新缓冲区?
在你想要做什么操作系统? – sanmai 2009-11-14 15:56:44
你不能通过访问“屏幕缓冲区”来实现这一点,你必须使用API,PyQt(对于所有平台更通用),带有IronPython(Windows)的.NET提供。 。直接访问屏幕缓冲区是一个很久以前就消失的概念;-) – RedGlyph 2009-11-14 16:16:09
我期待在Windows,OSX或Linux上部署应用程序。我认为它不是必需的,但它是我最熟悉的。 – directedition 2009-11-14 22:04:00