Python で記述されたコマンド ライン ツールの 1 つの GUI ラッパーを記述しようとしています。
Qtを使うべきだと提案されました。
以下は私のプロジェクトの .cpp ファイルです:
#include "v_1.h"
#include "ui_v_1.h"
#include<QtCore/QFile>
#include<QtCore/QTextStream>
#include <QProcess>
#include <QPushButton>
v_1::v_1(QWidget *parent) :
QMainWindow(parent),ui(new Ui::v_1)
{
ui->setupUi(this);
}
v_1::~v_1()
{
delete ui;
}
void v_1::on_pushButton_clicked()
{
QProcess p;
p.start("python script -arg1 arg1");
p.waitForFinished(-1);
QString p_stdout = p.readAllStandardOutput();
ui->lineEdit->setText(p_stdout);
}
以下は私のプロジェクトのヘッダーファイルです:
#ifndef V_1_H
#define V_1_H
#include <QMainWindow>
namespace Ui {
class v_1;
}
class v_1 : public QMainWindow
{
Q_OBJECT
public:
explicit v_1(QWidget *parent = 0);
~v_1();
private slots:
void on_pushButton_clicked();
private:
Ui::v_1 *ui;
};
#endif // V_1_H
UI ファイルは、単なるプッシュ ボタンと LineEdit ウィジェットです。
プッシュ ボタンをクリックするとスロットが割り当てられます。または などon_pushButton_clicked()
のユーティリティを呼び出すと、メソッドは正常に機能し、これらのコマンドの出力を LineEdit ウィジェットにパイプしますが、Python スクリプトを呼び出しようとすると、LineEdit ウィジェットに何も表示されません。ls
ps
どんな助けでも大歓迎です。