使用PyCairo直接绘制到根窗口

3 投票
1 回答
1886 浏览
提问于 2025-04-16 19:05

我想在Python中使用Cairo直接在根窗口上绘图。我已经测试过我的代码在全屏窗口上绘图,所以我知道这不是问题。然而,当我尝试像这样直接在根窗口上绘图时:

root = gtk.gdk.get_default_root_window()
cr = root.cairo_create()
...
# Drawing code here

什么也没发生。代码运行得很好,但屏幕上什么都没有绘制出来。有没有办法做到这一点,还是我需要在所有内容上方覆盖一个透明窗口?(这个解决方案的问题是多显示器的设置)

1 个回答

1

虚拟根窗口

需要注意的是,KDE4并不遵循这个规则。你需要找到一个根窗口的子窗口,这个子窗口的属性是 _NET_WM_WINDOW_TYPE,并且它的值设置为 _NET_WM_WINDOW_TYPE_DESKTOP。

撰写回答