我无法在Windows上使用python curses模块。我使用找到的here滚轮来获取我在Mac上编写的脚本以在桌面上运行。目前,脚本仅使用screen.border()方法在窗口周围显示边框,并在整个显示宽度上显示另一条线。我使用以下方法在屏幕上显示了该栏:
dimensions = screen.getmaxyx()
screen.addstr(dimensions[0]/2, 0, "-"*dimensions[1])
我循环运行此代码,每次重设尺寸,然后使用getch检查curses.KEY_RRESIZE,然后运行screen.erase()来调整窗口大小,脚本仍然可以工作。当我安装了python 3.7的滚轮后在Windows上运行此程序(win32,因为amd64给出了一个错误)时,我发现screen.getmaxyx()始终返回相同的值:初始屏幕大小,并且在调整窗口大小时从未更改。如果有人知道解决此问题的方法,或者我根本无法在Windows上使用curses(Windows的替代库),我将不胜感激。谢谢!
答案 0 :(得分:1)
在获得KEY_RESIZE之后,调用resize_term(0,0)。 (我不确定确切的Python映射。)
答案 1 :(得分:0)
那个(“在Windows上”)可能正在使用PDCurses,它没有自动更新屏幕尺寸的方法(例如,使用基于POSIX的ncurses的SIGWINCH
处理程序)。相反,它可以检测到窗口大小的变化,应用程序可以调用 is_termresized
来决定是否告诉库使用 resize_term
< / strong>。
python包装器不使用它。