![](/img/trans.png)
[英]How do I deal with lines that are longer than the Curses window in Python?
[英]How do I access curscr in Python curses?
在Python中使用curses时,我知道如何使用curses.initscr()
返回的stdscr
。 如何访问保存当前屏幕图像的curscr
?
背景:我有几个(重叠)窗口。 为了使它们看起来不错,我添加了阴影。 为了获得更多的糖果,我希望阴影是基础文本的黑白版本,因此我需要获取窗口阴影覆盖的文本。 如果我使用stdscr.inch(y, x)
, stdscr.inch(y, x)
得到所有空格,因为我的stdscr
是空的(所有内容都使用Windows显示)。
ncurses C API包含curscr
,我相信它可以解决我的问题。 目前唯一的其他解决方案是跟踪所有现有的窗口(我已经将它们包装在python类中),以防万一我需要从屏幕上获取字符,请遍历所有已知的窗口并检查它们是否与我的测试相交点(增加了更多的复杂度,因为我也需要实现Z轴管理)。
此刻的外观(注意白色上下文菜单如何与总线节点窗口重叠,而左下角/右上角未使用正确的属性):
尽管我没有找到使用curscr
的解决方案,但我实现了自己的窗口管理器类,该类负责正确的刷新顺序,不需要使用curscr
进行正确的重叠。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.