Linux ls信息给qt gui,如何使用Qt 4把ls命令的结果显示到GUI界面上去?-兼回答网友提问...

问:您好!想向您请教一些问题!现在在做论文比较急,不知能否请您给指导一下。我的系统是openSUSE 11.1, Qt版本为4.4.3。现想做一个界面,界面上有一个按钮和一个LineEdit文本框,点击按钮的时候就相当于执行了Linux终端上的“ls"命令,然后结果显示到LineEdit文本框中。该怎么去做!我自己也做了一些,但是出现不少问题(Qt知识和C++知识比较缺乏),一直都没有成功!谢谢!

答:你的问题我理解大致可以分析如下:

1.如何在Qt中调用系统命令

2.命令执行后如何将屏幕拷贝到GUI界面上去显示

第一个问题可以有两种解决途径:

1.直接调用系统API

windows下可以使用shellexecute()命令调用其他的程序或命令;

Linux下可以使用exec()和system()命令,对于初学者推荐使用后者,示例:system("/root/yourname/yourdir/ls");

2.使用QProcess

可以使用:QProcess::execute ( const QString & program, const QStringList & arguments );

具体请可以再查阅一下Qt Assistant

第二个问题可以逐步解决,思路如下:

1.首先使用Linux下的输出重定向命令把ls命令的输出重定向到一个设备或者是文件中,示例如下:

$ ls > directory.out

这表示将ls命令的输出保存为一个名为directory.out的文件。

如果>符号后边的文件已存在,那么这个文件将被重写。

文件的名称和格式你可以自己选定,设定为纯文本文件将又有助于你的下一步的操作。

2.使用Qt中的文件I/O方法,读取这个文件的内容,把它显示到GUI界面上去

对于你的问题就是把它显示到那个lineEdit,或者可以使用textEdit更好

具体做法就比较容易了,可以查阅帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值