0
QTabWidgetページ内で別のプロセス(QProcess)として実行されるQWebEngineViewウィジェットを統合しようとしています。これまでのところ、QWebEngineViewプロセスは正しく起動されていますが、MainWindowアプリケーションのQTabWidget内に表示するのではなく、別のウィンドウでWebページを表示しています。QWebEngineViewプロセスをQTabWidget内に埋め込む
これはQTabWidgetに追加されているウィジェットです。
BrokersTerminal.h
class BrokersTerminal : public QWidget
{
Q_OBJECT
public:
explicit BrokersTerminal(QWidget *parent = 0);
~BrokersTerminal();
void startTerminal();
public slots:
void brokersTerminalStarted();
private:
Ui::BrokersTerminal *ui;
QProcess *brokers_process;
QString brokers_program_path;
QStringList arguments;
};
BrokersTerminal.cpp
BrokersTerminal::BrokersTerminal(QWidget *parent) :
QWidget(parent),
ui(new Ui::BrokersTerminal)
{
ui->setupUi(this);
brokers_process = new QProcess(this);
brokers_program_path = QApplication::applicationFilePath();
arguments << "--b";
connect(brokers_process, &QProcess::started, this , &BrokersTerminal::brokersTerminalStarted);
}
BrokersTerminal::~BrokersTerminal()
{
delete ui;
}
void BrokersTerminal::startTerminal()
{
brokers_process->start(brokers_program_path, arguments);
brokers_process->waitForStarted();
}
void BrokersTerminal::brokersTerminalStarted()
{
qDebug() << "Brokers terminal started";
}
この
は、ブローカーのウェブサイトを表示するための責任があるのWebViewウィジェットです。BrokersWebWidget.h
class BrokersWebWidget : public QWidget
{
Q_OBJECT
public:
explicit BrokersWebWidget(QWidget *parent = 0);
~BrokersWebWidget();
private:
Ui::BrokersWebWidget *ui;
QUrl brokers_url;
QWebEngineView *web_browser;
};
BrokersWebWidget.cpp
BrokersWebWidget::BrokersWebWidget(QWidget *parent) :
QWidget(parent),
ui(new Ui::BrokersWebWidget)
{
ui->setupUi(this);
brokers_url = "https://siteofbrokersapi.com/";
web_browser = new QWebEngineView(this);
web_browser->load(brokers_url);
}
BrokersWebWidget::~BrokersWebWidget()
{
delete ui;
}
今このBrokersWebWidgetは別のプロセスとして正常に起動するが、それは別のウィンドウで開きますが、どのようにこれはBrokersTerminalウィジェットに追加することができますか?
解決方法を教えてください。ありがとう。
はい、私はウィジェットが同じGUIプロセスに組み込まれている必要があるというあなたの要点を理解しています。だから私はすべてのGUI関連のものが同じMainWindowプロセスで実行されるように設計計画を変更しましたが、重い計算はバックグラウンドプロセスに委任されました。アドバイスありがとうございます。 – Maxx