wxWidgets的类似终端的窗口?

时间:2010-01-20 00:38:55

标签: c++ streaming wxwidgets terminal-emulator

我想在我的wxWidgets GUI中添加一个元素,其行为类似于终端模拟器。不是在执行命令的shell方面,而是在终端中运行的应用程序的输入输出设置方面。

基本上,要求是:

流式输入/输出:当您输入一个字符时,它会被添加到输入流中,当某些内容通过管道输送到终端时,它会立即打印出来。

无编辑:输入一个字符后,它永久存在,因为它可能已被终端中运行的应用程序使用。

某种滚动(即使只显示几行或其他内容)。

如果有一些已经做到这一点的话会很好,但是对于如何用已经存在的控件(如wxTextCtrl)来实现它的建议也会受到欢迎。

2 个答案:

答案 0 :(得分:3)

我知道这已经晚了几个星期,但希望它仍然有用。我有一个名为Chameleon的项目,该项目使用基于wxWidgets的VT100终端小部件,该小部件本身基于一个名为taTelnet的项目。变色龙源可以从我的网站(download page here)获得。不确定它是否正是您正在寻找的,但它可能会给您一些想法。如果您对此有任何疑问,请随时与我们联系。

答案 1 :(得分:2)

wxWidgets支持通过wxStreamToTextRedirector将STDOUT重定向到wxTextCtrl。至于输入,你可以覆盖wxTextCtrl派生类中的OnChar事件来处理它。