码迷,mamicode.com
首页 > Windows程序 > 详细

QT-QWebEngineView-createWindow弹出页面解决

时间:2018-07-03 23:53:15      阅读:1321      评论:0      收藏:0      [点我收藏+]

标签:explicit   头文件   icon   etc   pre   view   pac   page   names   

首先要写一个继承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);

}

 

QT-QWebEngineView-createWindow弹出页面解决

标签:explicit   头文件   icon   etc   pre   view   pac   page   names   

原文地址:https://www.cnblogs.com/Netsharp/p/9260862.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!