Python Curses处理窗口(终端)Resiz

2024-04-26 18:20:51 发布

您现在位置:Python中文网/ 问答频道 /正文

这真的是两个问题:

  • 如何调整“诅咒”窗口的大小,以及
  • 如何处理诅咒中的终端大小调整?

有可能知道窗口何时改变了大小吗?

我真的找不到任何好的医生,甚至连http://docs.python.org/library/curses.html上都没有


Tags: orghttp终端docshtmllibrarycurses医生
3条回答

终端调整大小事件将导致curses.KEY_RESIZE键代码。因此,您可以将终端大小调整作为curses程序中标准主循环的一部分来处理,等待getch的输入。

我让python程序做了一些事情来重新调整终端的大小。

# Initialize the screen
import curses

screen = curses.initscr()

# Check if screen was re-sized (True or False)
resize = curses.is_term_resized(y, x)

# Action in loop if resize is True:
if resize is True:
    y, x = screen.getmaxyx()
    screen.clear()
    curses.resizeterm(y, x)
    screen.refresh()

在编写程序时,我可以看到将屏幕放入它自己的类中并定义所有这些函数的有用性,因此我所要做的就是调用Screen.resize(),它会处理其余的问题。

这是不对的。这是一个ncurses-only扩展。关于curses的问题。要以符合标准的方式执行此操作,您需要捕获自己并安排重新绘制屏幕。

相关问题 更多 >