問題タブ [qprocess]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - QT4:QProcessを使用して呼び出される同じスクリプトよりもbashシェルの方が高速なのはなぜですか?
例を挙げましょう:スクリプトはファイルの作成が終了したことを検出する必要があります:
シェルからexecuteを呼び出すと、非常に高速です。出力/scan.log/に1行が「スリープ」していないため、ファイルは1秒で準備できます/最初のスリープで十分です/一方、同じスクリプトを呼び出すとQTから、5秒以上/14行以上の睡眠/を待たなければなりません
それを修正することは可能ですか?私のプロジェクトでは時間が重要なので...アドバイスありがとうございます
qt - Qプロセス端子入力
私は Qt があまり得意ではなく、Ubuntu の知識もあまりありませんが、ここで私がしていることは次のとおりです。gnome-terminal を起動し、そこから *.sh ファイルを開始します。Qtからそれを行う方法は? 私が作った:
しかし、ターミナルが開いているだけで何も起こりません。手動でコマンドを入力できますが、QProcessから行う必要があります。
python - 複数のクラス (PyQt) で QProcess の 1 つのインスタンスを使用する
メイン ウィンドウ ラッパー クラス (たとえば A) と、ラッパーで使用される別のクラス (たとえば B) があります。B には、subprocess.check_call(command) 呼び出しを順番に持つメソッドがあります。このプロセスと通信し、メイン ウィンドウ QTextEdit に Qprocess stdout と stderr を表示し、メイン ウィンドウ QLineEdit から Qprocess stdin にデータを送り返すために、QProcess を使用するように変更しています。
そのために私は持っています:
最後に、「script_that_waits_for_user_input_during_execution」の出力はQTextEditに表示されませんが、コンソールにはまだ出力されています。A に信号が返されていないようで、 A.readStdOut() メソッドに到達していません。一般的な考え方は、さまざまなコマンド ライン スクリプトをラップする GUI アプリを用意することです。したがって、QProcess から出力を正しく取得し、GUI から書き込むことで通信できるようにする方法が必要です。もちろん、関数を B から A に移動すれば (不要な手順がなくなるため)、おそらくそれほど複雑ではないかもしれませんが、同時に、GUI ラッパーはロジックから分離する必要があると思います。
ありがとう!
python - QProcess.readAllStandardOutput()は何も読み取っていないようです-PyQt
コードサンプルは次のとおりです。
アイデアは打ち負かされます-GUIにスクリプトを実行させ、プロセスと通信させます。この特定の例での課題は、コマンドがアプリを実行するときにQProcessでスクリプトが開始されることです。これには、途中でユーザー入力(確認)が必要です。したがって、スクリプトを開始し、すべての出力を取得して解析し、質問が出力に表示されるのを待ってから回答を返し、終了させてから、create_new_project(内の他のアクションを続行できるようにする必要があります。 )。
qt - Qt からプログラムを実行する
LinuxでQtを使用しています。Qtから「evince」pdfリーダーを実行する必要があります。
私は検索してきましたが、Qprocessを使用して機能させることができることを理解しています。このようなもの:
しかし、私は常に次のエラーが発生します。
プロトコルが指定されていません 引数を解析できません: ディスプレイを開けません:
だから私はsystem(char *cmd)
から試してみましたstdlib.h
が動作しません system("/usr/bin/evince /home/user/presentacion0.pdf");
「evince」はグラフィカルアプリケーションであるため、system() は機能しないと思います。ただし、「ls」、「mkdir」などのコマンドはsystem()
問題なく実行できます。
このトピックについて助けが必要です。
事前にご協力いただき、誠にありがとうございます。
ありがとうございました。
qt - ある qt アプリケーションを別の qt アプリケーションから実行する方法
Qt アプリケーション (App1) が 1 つあります。別の qt アプリケーション (App2) から App1 を実行したいと考えています。QProcess を使用してみましたが、App1 は実行されません。親切に私を助けてください。RHEL 6 で作業しています。
c++ - 親と一緒にqprocessを強制終了します
これは、コマンドを実行して出力を返すためのコードです。問題は、testProcessを強制終了すると、「ping」が続行されることです。私も試してみました
私の英語でごめんなさい
testProcess.h:
testProcess.cpp main:
escaping - QProcess とコマンド ラインの「/c」引数
QProcess に非常に奇妙な問題があり、奇妙な動作です。
最後に取得したいのは次のようなものです(これはWindows 7のcmd.exeです)
(cmd は QProcess の show との互換性のためのものです)
そのようなことをするために、私はこれを作成します:
エラー出力で得られるものは次のとおりです。
(ポーランド語から私が翻訳したものなので、英語では少し異なる場合があります)。
\ 文字は文字列内でエスケープされていないようで、コマンドの文字として \" を残しています。何が間違っていますか?
私は試してみました
トリプル \"\"\" を使用しても機能しません。この問題の解決策は、私がそれについて考えないほど簡単でなければならないと思います。
qt - QProcess :: waitForReadyRead for stderr?
プロセスのstderrにデータがある場合に戻りますかQProcess::waitForReadyRead
、それともstdoutでのみ待機しますか?信号とスロットを使用せずにstderrでデータを待機するにはどうすればよいですか?
c++ - 子プロセスがクラッシュした場合、QProcess :: finishは発行されますか?
ドキュメントにはerror()
、子プロセスがクラッシュした場合にシグナルが発行finished()
されると記載されていますが、同様に発行されるのでしょうか、それとも正常に終了した場合にのみ発行されるのでしょうか。