zoukankan      html  css  js  c++  java
  • QT-QWebEngineView-createWindow弹出页面解决

    首先要写一个继承QWebEngineView的类

    头文件:

    #ifndef WEBBROWSER_H
    #define WEBBROWSER_H
    
    #include <QWebEngineView>
    #include <QWidget>
    
    namespace netsharp {
    
    class WebBrowser : public QWebEngineView
    {
         Q_OBJECT
    
    public:
        explicit WebBrowser(QWidget* parent = Q_NULLPTR);
    
    protected:
        /**
         * @brief createWindow 在鼠标左键点击的时候会触发这个方法
         * @param type
         * @return
         */
        QWebEngineView *createWindow(QWebEnginePage::WebWindowType type);
    
    private :
    };
    
    }
    
    #endif // WEBBROWSER_H

    实现文件:

    #include "webbrowser.h"
    #include "MainWindow.h"
    #include <QWidget>
    #include<QMessageBox>
    #include<QMainWindow>
    
    namespace netsharp {
    
    WebBrowser::WebBrowser(QWidget *parent) : QWebEngineView(parent)
    {
    }
    
    QWebEngineView *WebBrowser::createWindow(QWebEnginePage::WebWindowType type)
    {
        WebBrowser *webbrowser = new WebBrowser(this);
    
        QMainWindow *dialog = new QMainWindow() ;
        dialog->setCentralWidget(webbrowser);
        dialog->show();
    
        return webbrowser;
    
    }
    
    }

    主窗口调用文件代码(mainwindow.cpp)

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include "WebBrowser.h"
    #include "QSystemTrayIcon"
    #include "QMessageBox"
    #include <QTimer>
    #include <QUrl>
    
    using namespace netsharp;
    
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
    
        ui->setupUi(this);
    
    
       this->webbrowser = new WebBrowser(this);
        this->webbrowser->load(QUrl("http://beehive.gongsibao.com"));
        this->setCentralWidget(this->webbrowser);
    
    }

     另:

    QWebEngineView在QT Creator开发的时候网页加载特别慢,使用release方式即可解决,嗖嗖快

     

  • 相关阅读:
    瑞士军刀DLib的VS2015编译
    win10编译libpng
    win10编译zlib
    win10编译jpeglib
    Hough Transform直线检测
    html+css简单的实现360搜索引擎首页面
    HTML和css简单日常总结
    MySQL中的分区(六)KEY分区
    CentOS 8 安装vsftpd 服务器
    linux负载过高 排查方法及说明 附:Centos安装iostat
  • 原文地址:https://www.cnblogs.com/Netsharp/p/9260862.html
Copyright © 2011-2022 走看看