在Qt中使用系统命令

har*_*ngh 5 qt

如何使用system命令在QString中编写命令?

喜欢:

QString command="chmod -R 777 /opt/QT/examples/code/TestGUI/Data";    
system(command);
Run Code Online (Sandbox Code Playgroud)

在编译时,我收到此错误:

cannot convert ‘QString’ to ‘const char*’
  for argument ‘1’ to ‘int system(const char*)’
Run Code Online (Sandbox Code Playgroud)

谁能提出建议?

Vin*_*ura 12

使用qPrintable()

system(qPrintable(command));


Jas*_*n B 7

您需要从QString获取原始字符数组.这是一种方式:

system(command.toStdString().c_str());
Run Code Online (Sandbox Code Playgroud)


fir*_*mer 7

Ankur Gupta写道,使用QProcess静态函数(链接到描述):

int QProcess::execute ( const QString & program )
Run Code Online (Sandbox Code Playgroud)

在你的情况下:

QProcess::execute ("chmod -R 777 /opt/QT/examples/code/TestGUI/Data");
Run Code Online (Sandbox Code Playgroud)


Ank*_*pta 6

QProcess类http://doc.qt.io/qt-5/qprocess.html.这就是你需要的.