c++ - 如何使用 QTextEdit 模拟类似 shell 的脚本环境?

标签 c++ qt shell qtextedit qtscript

<分区>

[目标]

使用 QTextEdit 或任何其他适当的 Qt 方式的简单 shell 提示符。

(假设使用QScriptEngine作为ECMA脚本解释器)


[例子]

MATLAB

enter image description here

python

enter image description here

在 shell 提示符下,命令行部分是可编辑的,而其他部分则不可编辑。 对于 MATLAB,只有最后一个 >>> 之后的行是可编辑的;对于 Python shell,只有最后一个 >>> 之后的行是可编辑的。


[解决方法]

这是我脑海中第一个出现的想法:

enter image description here

使用 QTextEdit 作为只读,QLineEdit 作为命令输入。 出于纯功能的目的,它是可以接受的,但还不够好。

[问题]

其实同样的问题可以在这里找到:Implementing a GUI Shell in qt ,并且接受的答案与此解决方法相同。就像我说的,解决方法还不够好。我想知道是否可以用 Qt 模拟 shell 提示符?目前,QTextEdit 似乎是最好的入门类(class)。

欢迎任何想法。也欢迎提供代码,但不是必需的,我所需要的只是一些提示和指导。

最佳答案

可以看看QConsole这是一个实现基本控制台并继承自 QTextEdit 的自定义小部件。

关于c++ - 如何使用 QTextEdit 模拟类似 shell 的脚本环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27538962/

相关文章:

linux - 在日志中提供 Control M 的重定向

c++ - Boost Python 和 C++ 头文件

c++ - 严重错误C1083

c++ - GCC 和 Clang 都不会通过编译时已知的函数指针数组进行内联调用——为什么?

windows - 为 Qt 5.5.1 (msvc2010) 编译 ibase 驱动

html - Qt:如何以纯文本格式打开 Html 文件?

shell - 如何让 "wc -l"只打印没有文件名的行数?

c++ - 防止在 C++ 中编译未使用的模板特化

qt - QNetwork TLS 可移植

java - 如何通过远程服务器上的 shell 一次在 Tomcat 上部署多个 war 文件?