如何使用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更好

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

    


  

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/qter_wd007/archive/2010/02/28/5333460.aspx#1309356

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值