在Python中使用curses时,我知道如何使用stdscr
返回的curses.initscr()
。如何访问保存当前屏幕图像的curscr
?
背景:我有几个(重叠)窗口。为了让它们看起来不错,我添加了阴影。对于更多的糖果,我希望阴影是底层文本的黑白版本,所以我需要得到我的窗口阴影覆盖的文本。如果我使用stdscr.inch(y, x)
,我会得到所有空白,因为我的stdscr
为空(所有内容都使用windows显示)。
ncurses C API包含curscr
,我认为这解决了我的问题。目前唯一的其他解决方案是跟踪所有现有窗口(我已经在python类中包含),如果我需要从屏幕上获取一个字符,遍历所有已知窗口并检查它们是否与我的测试相交点(增加了更多的复杂性,因为我也需要实现Z轴管理)。
目前看起来如何(请注意白色上下文菜单如何与总线节点窗口重叠,而不使用左下角/右上角的正确属性):
答案 0 :(得分:0)
虽然我没有找到使用curscr
的解决方案,但我实现了自己的窗口管理器类,它负责正确的刷新顺序,并且不需要curscr
来正确重叠。< / p>