这可能与我的诅咒比用Perl更多的理解有问题,但请帮助我。我使用Curses.pm它工作得很好,除了当我尝试创建一个诅咒“窗口”。示例代码:

use Curses;
initscr;
$w=newwin(1,1,40,40);
$w->addstr(20,20,"Hello");
$w->refresh;
refresh;
endwin;

什么也不输出。不使用窗口正常工作:

use Curses;
initscr; 
$w=newwin(1,1,40,40); 
addstr(20,20,"Hello"); 
refresh; 
endwin; 
有帮助吗?

解决方案

您需要得到你的论点在正确的地方,这是不容易记住什么号码是什么。我总是首先尝试所有错误排列照顾它。我只是看手册页C接口,然后将其更改为Perl的语法。

newwin功能,在 curs_window 手册页中,需要:

newwin( height, width, starty, startx )

您设置了一个窗口,是一排高一列宽,起始于行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;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top