QT5, C++でQProcessに関してお教えください。
QProcessの終了が検知できません。
実験として以下のコードを書きました。
#include <QCoreApplication> #include <QProcess> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QProcess process; process.setProgram("lxterminal"); process.start(); while (true) { qDebug() << process.state(); } return a.exec(); }
コード内のlxterminalとは、ターミナルアプリケーションです。
これを実行すると標準出力に
QProcess::ProcessState(Starting)
が表示されますが、起動したlxterminalを閉じてもステータスが変わりません。
process.start()をprocess.startDetatchedにして試しても、QProcess::finishedシグナルでの検出を試みても検知できませんでした。
これとは別にQ_OBJECTを記載したクラスで試してもだめでした。
プロセスの終了を検知する方法をご存知の方、ご教示おねがいいたします。
※環境
Debian 10.10
qt 5.11.3
Qt Creator 4.8.2 based on Qt 5.11.3
gcc (Debian 8.3.0-6) 8.3.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/25 05:00