Qt4で外部コマンド実行
外部コマンド(たとえば、"ls -lrt")を実行するようなプログラムを残しておきます。
QProcessを使ってみました。
QProcessを使ってみました。
画面イメージ
ソースコード
external_exec.tgzMainForm.ui | Designerで作成 |
MainForm.h | |
MainForm.cpp | |
main.cpp |
- MainForm.cppコード一部抜粋
// コマンドライン上でEnterキーを押した時点で呼ばれます。
void MainForm::slot_commandExec()
{
QString cmd;
cmd = cmdLine->text(); // コマンドライン読み込み
proc->start( cmd ); // 外部コマンド実行開始
msgView->append( "> " + cmd ); // コマンドをメッセージビューへ
cmdLine->clear(); // コマンドラインクリア
}
// QObject::connect( proc, SIGNAL(readyReadStandardOutput()), this, SLOT(slot_appendView()) )
void MainForm::slot_appendView()
{
QTextCodec *codec = QTextCodec::codecForName( "EUC-JP" ); // 文字コード変換
QString str( codec->toUnicode(proc->readAllStandardOutput()) ); // 標準出力取り出し
msgView->append( str ); // 標準出力をメッセージビューへ
msgView->append( "------------------" );
}
QProcessの使いかたは、Qt3に比べて大きく変わっています。
そのため使いかたには注意する必要があります。
そのため使いかたには注意する必要があります。