fix: 修复WebEngine内存泄露问题

pull/7/head
cbwu 7 months ago
parent 115375311f
commit dadfe2e40f

@ -4,22 +4,22 @@
#include <QWidget> #include <QWidget>
CWebEngineView::CWebEngineView(QWidget* parent) CWebEngineView::CWebEngineView(QWidget *parent) : QWebEngineView(parent) {}
: QWebEngineView(parent)
{
}
CWebEngineView::~CWebEngineView() CWebEngineView::~CWebEngineView() {
{ QWebEnginePage *page = this->page();
if (page != nullptr) {
delete page;
}
} }
QWebEngineView* CWebEngineView::createWindow(QWebEnginePage::WebWindowType type) QWebEngineView *
{ CWebEngineView::createWindow(QWebEnginePage::WebWindowType type) {
if (type == QWebEnginePage::WebBrowserTab) if (type == QWebEnginePage::WebBrowserTab) {
{ QWebEnginePage *new_page =
QWebEnginePage* new_page = new QWebEnginePage(this->page()->profile(), this); new QWebEnginePage(this->page()->profile(), this);
this->setPage(new_page); this->setPage(new_page);
} }
return this; return this;
} }

@ -1,21 +1,13 @@
#include "qweb.h" #include "qweb.h"
#include "ui_qweb.h" #include "ui_qweb.h"
QWeb::QWeb(QWidget *parent) QWeb::QWeb(QWidget *parent) : QWidget(parent), ui(new Ui::QWeb) {
: QWidget(parent) ui->setupUi(this);
, ui(new Ui::QWeb)
{
ui->setupUi(this);
mWeb = new QWebEngineView(this);
ui->verticalLayout->addWidget(mWeb);
mWeb->load(QUrl("https://www.baidu.com"));
mWeb = new QWebEngineView(this);
ui->verticalLayout->addWidget(mWeb);
mWeb->load(QUrl("https://www.baidu.com"));
} }
QWeb::~QWeb() QWeb::~QWeb() { delete ui; }
{
delete ui;
}

@ -47,9 +47,12 @@ MainWindow::~MainWindow() {
delete m_HomePagedlg; delete m_HomePagedlg;
delete mWeb; delete mWeb;
delete process; delete process;
delete ui; delete lLinkWeb;
delete adHocNetworkWeb;
delete satelliteCommWeb;
if (m_ModelCameraDlg != nullptr) if (m_ModelCameraDlg != nullptr)
delete m_ModelCameraDlg; delete m_ModelCameraDlg;
delete ui;
} }
/** /**
* @brief MainWindow::initFile .ini * @brief MainWindow::initFile .ini

Loading…
Cancel
Save