这是我关于堆栈溢出的第一篇文章,所以我希望我做得很好
我目前正在为python应用程序开发一个终端用户界面。我知道有很多现成的库,比如npyscreen,但我想创建一个作为编程练习。特别是,我想玩一些架构模式来学习它们
综上所述,我目前在使用python诅咒库时遇到了几个问题,我将其用作终端的低级接口
当我尝试调整终端的大小时会出现问题。从代码中可以看到(见下文),我在主循环中处理终端的大小调整,调用my curses窗口的getmaxyx()方法,并相应地重新绘制屏幕上的内容
问题是,当我尝试调整终端大小时,屏幕似乎会闪烁。
此外,我的“curses应用程序”在MacOS上运行良好,但在windows上完全崩溃(即使在安装windows curses之后)
为了处理这个问题,我尝试使用有福的库重新编写低级别的interfice。它解决了windows崩溃问题,但闪烁仍然存在
我想不出是什么问题
对于那些希望帮助我的人,下面是项目的github页面:Terminal GUI on GitHub
先谢谢你
有了诅咒,至少有三件事需要寻找:
ncurses可以处理
SIGWINCH
(PDCurses可以不处理)某些Python配置会干扰ncurse接收
SIGWINCH
。如果您的程序从未收到KEY_RESIZE
(它没有检查…),那么是时候为Python提交一个bug报告来修复它了有些程序不主动读取键盘输入(如果
KEY_RESIZE
不是读取,ncurses将不会更新屏幕大小。这将导致程序崩溃。相关问题 更多 >
编程相关推荐