0

我目前正在尝试使 Qt 控制台程序与 ncurses 一起工作。我想享受 ncurses 的优势,同时仍然能够使用 QTextStream 进行输入和输出。

这个想法是while((c = getch()).....用于一种特定类型的输入,同时QTextStream(stdin)用于其他类型的输入。

问题是,如果我按以下方式进行:

initscr();
//do ncurses stuff
//do QTextStream(stdout) stuff
//do QTextStream(stdin) stuff

我得到以下结果:在此处输入图像描述

但是,如果我这样做:

initscr();
//do ncurses stuff
endwin();
//do QTextStream(stdout) stuff
//do QTextStream(stdin) stuff

结果看起来更合适: 在此处输入图像描述

我的问题是是否可以在没有重复调用的情况下实现相同的结果,initscr();并且endwin();每次我想接收特定类型的输入(这是程序中相对经常使用的圆顶)。如果没有,这有什么陷阱吗?我知道这绝对不是一个体面的编程实践,但它会产生除此之外的后果吗?至少,对性能的影响并不明显。

4

0 回答 0