同时呢,前两天V8已经成为Qt5的基础模块了,刚好,可以做个简单的java script的shell试试看(只支持单行输入)。
于是,便有了本文。
先用google搜索一下,未找到自己想要的答案(当然,有些比较靠谱的答案:比如去看现有shell(像konsole等)的源码,只是自己懒,不想看)。
初看起来,似乎是个比较简单的东西。
按照这个思路,加上对shell的期望:
于是:就是下面的效果了,



注意
在贴出源码之前,先提一点这个:
但是,获取这个位置有些困难,为此,动用了 QPlainTextEditPrivate 这个私有类!
分为三个文件
创建QPlainTextEdit的派生类
这个是重点了,你可以忽略其中关于Qt5和V8的代码(已经被宏保住了,不会影响你的编译)。
简单说一下:
用来更新QLineEdit的位置(这里面的代码?你凑活看吧,其实代码还有些问题)。
基本没做什么。上面设置了大两个点的字体,纯粹是为了舒服一点(不然在我机子上比较难看)。QLineEdit隐藏掉边框,以便和主控件融为一体。
根据输入,产生什么输出,你说了算。我只是为了学习下V8,胡乱加了点代码。
将输入输出显示到主控件中。
很常规的文件,不用多说。