wxWidgets的类似终端窗口的界面?

9
我希望在我的wxWidgets GUI中添加一个类似终端仿真器的元素。并不是执行命令的shell,而只是终端应用程序的输入输出设置。
基本要求如下:
流式输入/输出:输入字符时,将其添加到输入流中,当某些内容被管道传输到终端时,它会立即打印出来。
无编辑:一旦输入字符,它就会永久存在,因为它可能已经被终端运行的应用程序所消耗。
某种形式的滚动(即使只显示几行之类的东西)。
如果已经有类似控件可以使用,那就太好了,但如果有关如何使用已有控件(例如wxTextCtrl)实现此功能的建议也将不胜感激。

Jeremy,如果这是你的答案 https://github.com/jeremysalwen/TerminalWx - 那么把它作为一个答案不值得吗?我对你的组件的当前状态很感兴趣。最后一次更改是在2013年12月,最后(也是唯一)发布是在2012年... - Wolf
2个回答

3

我知道这已经晚了几周,但希望它仍然有用。我有一个名为Chameleon的项目,它使用基于wxWidgets的VT100终端小部件,它本身是基于一个名为taTelnet的项目构建的。Chameleon源代码可从我的网站(下载页面在此)获取。不确定它是否完全符合您的要求,但可能会给您一些想法。如果您有任何问题,请随时让我知道。


谢谢,这正是我正在寻找的!我会研究一下,并在需要时向您提问。 - Jeremy Salwen
注意:源代码在一个扁平的目录结构中,但项目需要它在文件夹中。 - Jeremy Salwen
嗯,我在压缩时可能犯了一个错误。感谢您的提醒。 - markerikson
2
嘿,我已经把终端小部件打包好了,链接在这里:https://github.com/jeremysalwen/TerminalWx - Jeremy Salwen

3

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接