9

我希望在我的 wxWidgets GUI 中添加一个元素,其行为类似于终端模拟器。不是就执行命令的外壳而言,而只是在终端中运行的应用程序的输入输出设置。

基本上,要求是:

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

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

某种滚动(即使它只显示几行或其他东西)。

如果有一些东西已经这样做了,那就太好了,但是关于如何使用已经存在的控件(如 wxTextCtrl)实现这一点的建议也将受到欢迎。

4

2 回答 2

3

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

于 2010-01-20T00:47:55.230 回答
3

我知道这已经晚了几个星期,但希望它仍然有用。我有一个名为 Chameleon 的项目,它使用基于 wxWidgets 的 VT100 终端小部件,它本身基于名为 taTelnet 的项目。Chameleon 源代码可从我的网站获得(下载页面在这里)。不确定它是否正是您正在寻找的东西,但它可能会给您一些想法。如果您对此有任何疑问,请随时告诉我。

于 2010-02-07T02:40:56.907 回答