簡體   English   中英

為什么我的Perl curses窗口不起作用?

[英]Why doesn't my Perl curses window work?

我對Curses的理解可能比使用Perl更有問題,但請幫幫我。 我正在使用Curses.pm,除非我嘗試創建一個curses“窗口”,否則它的效果非常好。 示例代碼:

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語法。

curs_window手冊頁中記錄的newwin函數采用:

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 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM