gpt4 book ai didi

c++ - 在 QTabWidget 中嵌入一个 QWebEngineView 进程

转载 作者:行者123 更新时间:2023-11-28 05:40:52 25 4
gpt4 key购买 nike

我正在尝试在 QTabWidget 页面中集成一个作为单独进程 (QProcess) 运行的 QWebEngineView 小部件。到目前为止,QWebEngineView 进程正在正确启动,但它在单独的窗口中显示网页,而不是在 MainWindow 应用程序的 QTabWidget 中显示它。

这是添加到 QTabWidget 的 Widget。

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 小部件中?

请让我知道任何可能的解决方案。谢谢。

最佳答案

您不能将在一个进程中运行的小部件嵌入到在另一个进程中运行的窗口中。 QWidget 只能与在同一进程中的 GUI 线程中运行的小部件一起使用。

关于c++ - 在 QTabWidget 中嵌入一个 QWebEngineView 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37121155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com