需要注意的是,衡纤使用sudo命令需要慎重,因为错误的使用可能会导致系统出现安全问题。建议在使用sudo命令时,尽量了解咐丛仿其用法和影响,并且只在必要时使用。
本文介绍,在Linux环境下,使用Qt中的 QProcess 类执行shell命令并获取输出。
头文件: #include <QProcess>
一、函数接口
QProcess 类提供了三个函数
二、执行命令
这里主要介绍 execute() 和 start() :
execute() 会将命令输出直接打印到控制台,调用程序无法捕获。
调用程序可通过 readAllStandardOutput() 捕获shell命令的输出
三、管 道
对于shell命令中的 | ,直接传入参数是不行的。
以上的方式是无法执行的。
可以将整个命令作为 sh 的参数传入 或 使用 QProcess::setStandardOutputProcess(QProcess *destination) 即将一个进程的标准输出流传入目标进程的标准输入流
对于需要sudo权限的命令,需要使用sudo权限打开qtcreator,或者直接在命令前加上sudo(不建议)。
当然, QProcess 不仅仅可以执雀厅行shell命令旅早,也可以用于执行调拆岁雀用外部程序。
ubuntu自带的软件下载中心下载的Qt让人比较头疼,Qdesigner等可以正常使用,但是Qt的库函数不会下载,apt-get也无法下载的时候,需要手动安装。安装前确保有4G的剩余空间。安装过后可以删除2G安装用的文件。1.下载Qt Framework。进入网址http://qt.nokia.com/downloads,选谨前择中间的标签LGPL,然后下载Qt libraries 4.7.0 for Linux/x11(199MB)
更新:找不到的话可以直接到http://qt-project.org/downloads,在页面中间的Qt Library里选最新的Qt libraries 4.8.3 for linux/X11 (223 MB)
2.解压文件。进到存放下载文件的目录下执行tar -zxvf qt-everywhere-opensource-src-4.7.0.tar.gz
其中qt-everywhere-opensource-src-4.7.0.tar.gz是刚下载文件的文件名
3.默认情况下系统是没有g++编译环境的。需要手动安装。执行sudo apt-get install build-essential。如果提示找不到包可以更新一下源。方法为sudo gedit /etc/apt/sources.list编辑源列表。然后执行sudo apt-get update
4.执行sudo apt-get install libx11-dev libfreetype6-dev libavahi-gobject-dev libSM-dev libXrender-dev libfontconfig-dev libXext-dev
5.把解压后的文件夹拷贝到英文目录(非tmp)下,进入该文件夹执行./configure,然后选择o(开源),接着选择yes(同意)。运行结束后提示Just run 'make'等信息后表示这步成功了。
6.make。执行基察make,这步需要很长时间(我用了4个小时T_T)
7.安装qt。执行sudo make install,这步较快,文件安装在/usr/local/Trolltech/Qt-4.7.0
8.设置环境变量。执行vi ~/.bashrc 添加如下内容搏晌茄:
QTDIR=/usr/local/Trolltech/Qt-4.7.0/
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH MANPATH LD_LIBRARY_PATH
之后重启。如果不会用vi可以执行vi语句后输入:$回车,然后输入o进入输入模式,将上面的字段拷贝后按esc,然后输入大写的ZZ即可。
9.接下来就可以按照
qmake -project
qmake
make
的步骤执行qt程序了,不过有可能会遇到qmake找不到的情况,这时候输入 sudo apt-get indtall qt4-dev-tools重启就可以了,这步是安装designer/assistant,还是很有用的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)