我知道这是一个很长的镜头,但我想知道如果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. 控制台中的屏幕缓冲区
- 2. 在Windows屏幕上渲染缓冲区
- 3. 在Python中使用win32api创建新的屏幕缓冲区
- 4. 缓冲区的屏幕命令
- 5. 渲染到帧缓冲区和屏幕
- 6. perl中的缓冲区操作
- 7. 如何在PowerShell中查找最小屏幕缓冲区宽度?
- 8. 内存缓冲区和IO操作
- 9. OpenGL模板缓冲区OR操作?
- 10. 如何访问Android中的主屏幕/ OpenGL缓冲区?
- 11. OpenGL像素缓冲区直接在Linux和Mac OSX屏幕上
- 12. ASM的shellcode在C缓冲区 - 序幕
- 13. 在Vim缓冲区中的Python?
- 14. Emacs/Python:在线缓冲区与块缓冲区模式下运行python-shell
- 15. Cygwin'less'命令使bash忘记屏幕缓冲区历史记录
- 16. 当渲染到屏幕外缓冲区时WPF texbox焦点
- 17. 复制命令/ Powershell窗口屏幕缓冲区
- 18. 终端仿真器滚动缓冲区不保留ncurses屏幕
- 19. 屏幕捕获后无法访问缓冲区数据
- 20. Android从Java获取原生屏幕缓冲区
- 21. OpenGL-ES 1.1 iPhone - 深度缓冲区导致洋红色屏幕
- 22. 如何编写ANSI C控制台屏幕缓冲区?
- 23. Java OpenGL将屏幕外缓冲区绘制为图像
- 24. 是否可以将字节[]的缓冲区发送到屏幕?
- 25. 来自屏幕外缓冲区的Android NDK glReadPixels()
- 26. OpenGL到DirectX(缓冲区到纹理到屏幕)
- 27. GNU屏幕:文件到编号的缓冲区?
- 28. OpenGL - 使用帧缓冲区和Oculus Rift的空白屏幕
- 29. OpenGL - 顶点缓冲区对象没有绘制到屏幕
- 30. Mac os x Terminal.app的缓冲区和屏幕命令
在你想要做什么操作系统? – 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