QT中如何实现命令与文本的交互?

卢阳 2011-09-01 03:18:09
在QT中,哪个控件可以实现命令与文本的交互,是QTextEdit吗?可是具体如何实现呢?应该参考哪几个函数呢?所谓文本与命令的交互所实现的效果就像shell终端一样,你输进去命令,它给你返回一个结果,其中命令和结果都同时显示在屏幕上。因为我要通过QPross调用一个后端程序,要求可以同时通过点击图标和输入命令的方式进行控制。

请问哪位大侠知道怎么实现啊?可否指点一二。
...全文
182 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
卢阳 2011-09-20
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 dbzhang800 的回复:]

引用 8 楼 cjw369 的回复:

Qt什么时候都出5了?引用 7 楼 dbzhang800 的回复:
好了,0点前,兑现承诺
用Qt实现一个简单的shell (Qt5+V8 或 Qt4)

预计明年发布,源码地址:https://qt.gitorious.org/qt/qt5
[/Quote]
谢谢你的帮助,在你的博客我已经给你留言,在下一步改进的过程中,对比两种方案,考虑你的实现方式,辛苦了
dbzhang800 2011-09-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 cjw369 的回复:]

Qt什么时候都出5了?引用 7 楼 dbzhang800 的回复:
好了,0点前,兑现承诺
用Qt实现一个简单的shell (Qt5+V8 或 Qt4)
[/Quote]
预计明年发布,源码地址:https://qt.gitorious.org/qt/qt5
cjw369 2011-09-08
  • 打赏
  • 举报
回复
Qt什么时候都出5了?[Quote=引用 7 楼 dbzhang800 的回复:]
好了,0点前,兑现承诺
用Qt实现一个简单的shell (Qt5+V8 或 Qt4)
[/Quote]
dbzhang800 2011-09-05
  • 打赏
  • 举报
回复
好了,0点前,兑现承诺
用Qt实现一个简单的shell (Qt5+V8 或 Qt4)
dbzhang800 2011-09-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 david_luyang 的回复:]

求大家关注,帮忙想想,指点一二,这个问题已经堵了我好长时间了。谢谢了
[/Quote]
我倒是有个想法,不过要用到Qt的私有头文件。稍后我试试是否可行,顺利的话代码会发到blog上。
jinsehongfeng 2011-09-05
  • 打赏
  • 举报
回复
这个我觉得应该用QLineEdit+QLabel组合实现吧,QLineEdit负责输入,QLabel负责显示输入命令和输出结果。

System(QLineEdit.Text());
QLabel.setText(QLabel.Text() + tr("\r\n") + QLineEdit.Text() + "\r\n");
QLabel.setText(QLabel.Text() + 输出字符串);
卢阳 2011-09-05
  • 打赏
  • 举报
回复
求大家关注,帮忙想想,指点一二,这个问题已经堵了我好长时间了。谢谢了
卢阳 2011-09-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yiyaaixuexi 的回复:]
可以的
QTextEdit 中用户输入的字符串也就是命令提取出来:

qDebug()<<textEdit->toPlainText();


然后加个 system("提取的命令"); 就相当于在终端执行了
[/Quote]


我的意思是QT的QTextEdit里实现跟shell终端类似的效果,接收命令打印结果(命令跟结果同时在屏幕上显示出来),且要求保存之前输入的命令跟结果,就是说通过拉动滚动条可以看到我之前输入的命令跟结果。我是说做到这种效果,不是说调用系统调用。(我调用的是类似debug一类的程序,为其做一个前端界面)
我的疑问在于,整个文本框里,既有我之前输入的命令,还有其显示的结果,我怎么从中抓取到我现在输入的命令。
如下图所示,假设整个文本框中的内容如此,我现在要提取######这个我刚输进去的命令,如何提去呢?我就是这没搞明白。至于QT通过QProcess与其它程序的互动我已经清楚了。

念茜 2011-09-01
  • 打赏
  • 举报
回复
可以的
QTextEdit 中用户输入的字符串也就是命令提取出来:

qDebug()<<textEdit->toPlainText();


然后加个 system("提取的命令"); 就相当于在终端执行了
卢阳 2011-09-01
  • 打赏
  • 举报
回复
各位大侠嫌弃分太少了吗?怎么连个回复的也没有啊?

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧