簡體   English   中英

如何在 Qt 主窗口中顯示 QWebEngineView?

[英]How to display a QWebEngineView in Qt mainwindow?

我的 webview function 在我的main.cpp中使用以下代碼:

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
   QApplication app(argc, argv);

   QWebEngineView view;
   view.setUrl(QUrl(QStringLiteral("http://qt-project.org/")));
   view.show();
   return app.exec();
}

但是,我想要一個 MainWindow 視圖並將我的 web 視圖嵌入到我的mainwindow.cpp內的特定小部件中。 這是不起作用的代碼,我有點混淆了父屬性和 object 放入我的mainwindow.ui (設計工具)。

QWebEngineView *view = new QWebEngineView(parent);
ui->webView->load(QUrl("http://qt-project.org/"));
view->show();

這是在我的項目中正確顯示的類似小部件的代碼:

QMovie *load = new QMovie(":/animations/scanner.gif");
ui->movieView->setMovie(load);
load->start();

如果您需要的不僅僅是主窗口中的中央小部件,您可以將視圖用作中央小部件或將其放入布局中。

中央小部件

#include <QApplication>
#include <QMainWindow>

int main(int argc, char *argv[])
{
   QApplication app(argc, argv);
   QMainWindow mainWindow;
   QWebEngineView view;
   view.setUrl(QUrl(QStringLiteral("http://qt-project.org/")));
   mainWindow.setCentralWidget(view);
   mainWindow.show();
   return app.exec();
}

布局

#include <QApplication>
#include <QMainWindow>

int main(int argc, char *argv[])
{
   QApplication app(argc, argv);
   QMainWindow mainWindow;
   QWebEngineView view;
   view.setUrl(QUrl(QStringLiteral("http://qt-project.org/")));
   mainWindow.layout()->addWidget(view);
   mainWindow.show();
   return app.exec();
}

這些只是標准 QMainWindows 的示例,因為我們無權訪問您的 mainwindow.cpp,而且它也不應該有太大關系。 您也可以在 mainwindow.cpp 中應用這些概念。

同樣,您也可以在主窗口實例的其他子、孫等小部件中進行布局。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM