QT之使用插件QAxWidget来展示web页面
-
1、 新建一个基于QFrame的程序:WebBrowser。
-
2、新建一个类 CWebBrowser。
-
3、webBrowser.h 如下:
#pragma once
#include <QDialog>
#include <ActiveQt/QAxWidget>
class CWebBrowser: public QFrame
{
Q_OBJECT
public:
explicit CWebBrowser(QWidget *parent = Q_NULLPTR);
~CWebBrowser();
private:
QAxWidget* m_pWebWidget;
};
- 4、webBrowser.cpp 如下:
#include "webBrowser.h"
#include <QVBoxLayout>
CWebBrowser::CWebBrowser(QWidget *parent) :
QFrame(parent),
{
m_pWebWidget= new QAxWidget(this);
//设置ActiveX控件为IEMicrosoft Web Browser
//设置ActiveX控件的id,最有效的方式就是使用UUID
//此处的{8856F961-340A-11D0-A96B-00C04FD705A2}就是Microsoft Web Browser控件的UUID
m_pWebWidget->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}"));
m_pWebWidget->setObjectName(QString::fromUtf8("WEB BROWSER"));//设置控件的名称
m_pWebWidget->setFocusPolicy(Qt::StrongFocus);//设置控件接收键盘焦点的方式:鼠标单击、Tab键
m_pWebWidget->setProperty("DisplayAlerts",false); //不显示任何警告信息。
m_pWebWidget->setProperty("DisplayScrollBars",true); // 显示滚动条
m_pWebWidget->dynamicCall("Navigate(const QString&)","file:///" + qApp->applicationDirPath() +"/html/00.html");// 此处需要在Debug目录下一级html目录下存在00.html文件。 也可以自己路径
QVBoxLayout * vblayMain = new QVBoxLayout;
vblayMain ->addWidget(m_pWebWidget);
setLayout(vblayMain);
setWindowState(Qt::WindowMaximized);//最大化
}
WebBrowser::~WebBrowser()
{
}