您的位置:首页 > 产品设计 > UI/UE

如何使用Qt 4把ls命令的结果显示到GUI界面上去?-兼回答网友提问

2010-03-20 22:46 387 查看
问:您好!想向您请教一些问题!现在在做论文比较急,不知能否请您给指导一下。我的系统是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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: