簡體   English   中英

linux mint 終端不執行 Qt 創建者給出的命令

[英]linux mint terminal does not execute commands given from Qt creator

嘿伙計們。 我是 Qt Creator 的新手,現在我正在努力將它連接到 Linux Mint 18 MATE 終端。 問題是,我可以打開終端,但其他命令不執行。 這是我正在嘗試的代碼 -

void access::on_pushButton_clicked(){

  QProcess process;
  process.start("mate-terminal cd /tmp");
  process.write("ls -Al");
  process.closeWriteChannel();

  process.waitForFinished();
  QByteArray output = sh.readAll();
  process.close();
     }

我需要做的就是——

  1. 打開終端
  2. 轉到/tmp目錄
  3. 打印出內容

任何關於我做錯了什么的幫助或暗示將不勝感激。 謝謝!

在這種情況下,您似乎不需要終端用戶界面,因此您不需要打開mate-terminal ,而應該打開sh 另請注意,在調用start方法后,您應該waitForStarted

QProcess process;
process.start("sh");
process.waitForStarted();
process.write("ls /tmp -Al");
process.closeWriteChannel();
process.waitForFinished();
QByteArray output = process.readAll();
process.close();
qDebug() << output;

注意: sh是一個命令行解釋器,有自己的腳本語言,如果你只想啟動ls ,那么你可以直接啟動它而不sh啟動sh

QProcess process;
process.start("ls /tmp -Al");
process.waitForFinished();
QByteArray output = process.readAll();
process.close();
qDebug() << output;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM