Qt打开网页QAxWidget的续篇
我最近研究用windows,qt5.9.7和ActiveQT做点事情,我实现了参考文献里面所涉及的内容,然后进一步修改了一下代码,我这里把代码分享出来,首先在pro文件中添加:
QT += core gui axcontainer
然后我的mainwindow.h文件为:
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include #include #include #includenamespace Ui {class MainWindow;}class MainWindow : public QMainWindow{ Q_OBJECTpublic: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow();private slots: void loadNavigate();private: Ui::MainWindow *ui; QLineEdit *lineUrl; QAxWidget* webWidget; QWidget* widget ;};#endif // MAINWINDOW_H
我的mainwindow.cpp文件为:
#include "mainwindow.h"#include "ui_mainwindow.h"#include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); lineUrl = new QLineEdit; lineUrl->setText("baidu.com"); connect(lineUrl,SIGNAL(returnPressed()),this,SLOT(loadNavigate())); widget = new QWidget; webWidget = new QAxWidget; //设置ActiveX控件为IEMicrosoft Web Browser //设置ActiveX控件的id,最有效的方式就是使用UUID //此处的{8856F961-340A-11D0-A96B-00C04FD705A2}就是Microsoft Web Browser控件的UUID webWidget->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}")); webWidget->setObjectName(QString::fromUtf8("webWidget"));//设置控件的名称 webWidget->setFocusPolicy(Qt::StrongFocus);//设置控件接收键盘焦点的方式:鼠标单击、Tab键 webWidget->setProperty("DisplayAlerts",false); //不显示任何警告信息。 webWidget->setProperty("DisplayScrollBars",true); // 显示滚动条 QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(lineUrl); mainLayout->addWidget(webWidget);// setLayout(mainLayout); widget->setLayout(mainLayout);// webWidget->setLayout(mainLayout); setCentralWidget(widget);// setWindowState(Qt::WindowMaximized);//最大化}MainWindow::~MainWindow(){ delete ui;}void MainWindow::loadNavigate(){ QString sUrl = lineUrl->text().trimmed(); webWidget->dynamicCall("Navigate(const QString&)",sUrl);}
然后其他的都是默认的,然后就可以编译执行了。
界面展示
参考文献
[1].Qt打开网页QAxWidge
[2].Qt:Attempting to add QLayout "" to MainWindow "", which already has a layout.
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~