Sec*_*Sec 4 curses perl window
我对Curses的理解可能比使用Perl更有问题,但请帮帮我.我正在使用Curses.pm,除非我尝试创建一个curses"窗口",否则它的效果非常好.示例代码:
use Curses;
initscr;
$w=newwin(1,1,40,40);
$w->addstr(20,20,"Hello");
$w->refresh;
refresh;
endwin;
Run Code Online (Sandbox Code Playgroud)
没有输出.不使用窗口工作正常:
use Curses;
initscr;
$w=newwin(1,1,40,40);
addstr(20,20,"Hello");
refresh;
endwin;
Run Code Online (Sandbox Code Playgroud)
你需要在正确的地方得到你的论点,并且要记住什么数字是不容易的.在首先尝试所有错误的排列后,我总是要查找它.我只看一下C接口的手册页,然后将其更改为Perl语法.
curs_window手册页中newwin
记录的函数包括:
newwin( height, width, starty, startx )
Run Code Online (Sandbox Code Playgroud)
您设置一个高一行,一列宽的窗口,从第40行第40行开始.然后,您addstr
可以在该窗口中将文本放在第20行第20列.这超出了您设置的1x1帧,因此您看不到任何内容.
试试这个,看看它是否适合你.如果可行,请尝试调整窗口值以获取所需的帧.
use Curses;
initscr;
$w = newwin(
1, # height (y)
COLS(), # width (x)
0, # start y
1 # start x
);
$w->addstr(
0, # relative y to window
0, # relative x to window
"Hello"
);
$w->refresh();
sleep 10;
endwin;
Run Code Online (Sandbox Code Playgroud)