それが実行可能かどうかを判断する基準は何ですか?
それは確かに可能です。QProcessクラスは、Qtアプリケーション内で外部プロセスを実行および操作するために必要なすべてのものを提供します。基本的に、実行できるすべてのことsubprocess
を実行できます(ただし、あまり便利ではありません)。考案された使用例を次に示します。
button = QPushButton('start')
textedit = QTextEdit()
process = QProcess()
button.clicked.connect(on_clicked)
def on_clicked():
process.readyReadStandardOutput.connect(read_ready)
process.start('/bin/sh',
('-c', "while /bin/true; do echo hello world ; sleep 1; done"))
def read_ready(self):
chunk = process.readAllStandardOutput()
textedit.append(str(chunk))
まだ計画段階なので、GUIパーツにzenityなどのツールを検討してみませんか?それはあなたに多くの仕事を節約することができます。チェックボックスのリストを取得し、コマンドの出力をテキストエリアに送信することは次の問題になります。
parameters=$(
zenity --list --text "Test parameters:" \
--checklist --column "Check" --column "Parameter" \
TRUE "One" TRUE "Two" TRUE "Three" FALSE "Four" \
--separator=":");
# parameters -> One:Two:Three
./instrument-test.py $parameters | zenity --text-info
あなたのプロジェクトで頑張ってください!