2017-03-04 49 views
0

我想在Python的Curses中创建一个接口,但是我想知道如何在窗口的终端增加而脚本正在执行时使它更具可移植性。如何制作可移动的curses界面?

例如,该代码在一个窗口(height:80,width:24)

#!/usr/bin/python 

import curses 
import time 
stdscr = curses.initscr() 
curses.cbreak() 
curses.noecho() 
stdscr.keypad(1) 

try: 
# Run your code here 
    height,width = stdscr.getmaxyx() 
    num = min(height,width) 
    for x in range(num): 
     stdscr.addch(x,x,'X') 
    stdscr.refresh() 
    time.sleep(3) 
finally: 
    curses.nocbreak() 
    stdscr.keypad(0) 
    curses.echo() 
    curses.endwin() 

将工作和将便携与任何窗口(这将打印整个窗口的大小很多“X”字符),但如果我调整它在执行过程中第二次就不起作用,并且对于终端的某些部分它将是空的。

我该如何让它按照我想要的方式工作?

+0

的Theres这么告诉你,当窗口大小的变化称为'SIGWINCH'所以我想你需要赶上并获得新的大小和重绘你诅咒的东西的信号......不知何故:-) –

+0

@MarkSetchell可能你请举个例子吗? – SerxWilliam

+0

对不起,我没有。 –

回答