我想在我的wxWidgets GUI中添加一个元素,其行为类似于终端模拟器。不是在执行命令的shell方面,而是在终端中运行的应用程序的输入输出设置方面。
基本上,要求是:
流式输入/输出:当您输入一个字符时,它会被添加到输入流中,当某些内容通过管道输送到终端时,它会立即打印出来。
无编辑:输入一个字符后,它永久存在,因为它可能已被终端中运行的应用程序使用。
某种滚动(即使只显示几行或其他内容)。
如果有一些已经做到这一点的话会很好,但是对于如何用已经存在的控件(如wxTextCtrl)来实现它的建议也会受到欢迎。
答案 0 :(得分:3)
我知道这已经晚了几个星期,但希望它仍然有用。我有一个名为Chameleon的项目,该项目使用基于wxWidgets的VT100终端小部件,该小部件本身基于一个名为taTelnet的项目。变色龙源可以从我的网站(download page here)获得。不确定它是否正是您正在寻找的,但它可能会给您一些想法。如果您对此有任何疑问,请随时与我们联系。
答案 1 :(得分:2)
wxWidgets支持通过wxStreamToTextRedirector将STDOUT重定向到wxTextCtrl。至于输入,你可以覆盖wxTextCtrl派生类中的OnChar事件来处理它。