0

我创建了两个 Ncurses 窗口:窗口 1 和窗口 2。我可以在调用窗口 2 之前写入窗口 1;但是,在调用 Window 2 之后,我无法使用 mvwprinw(window1, "Bla") 写入 Window 1。为了显示:

...

initscr();
Window* window1 = newwin(10,10,0,0);
mvwprinw(window1, "i am writing to window");    // this works
wrefresh(window1);

Window* window2 = newwin(10,10, 12, 12);
mvwprintw(window2, "whee");             //works too
wrefresh(window2);

mvwprintw(window1, 0,0,"writing new sentence");     
// this does not show on the screen
wrefresh(window1);

...

为什么呢?

4

1 回答 1

0

解决了:

如果有人遇到类似问题,请注意多个 C++ 类中的编码窗口。

在其中一个类中构建了一个侦听器类。但是,它称为无限循环(不是设计代码的最佳方式,但对于程序来说已经足够了)。

因此,代码陷入了无限循环,导致下一行代码保持未执行状态。

解决方案:如有必要,请使用多线程库。

于 2013-02-13T12:45:44.037 回答