QAxWidget调用ActiveX插件显示网页文件(word等也可用该对象显示)

原文转载于:https://blog.csdn.net/lmhuanying1012/article/details/78348710

  1. QT  += axcontainer  

[cpp]  view plain  copy
  1. #ifndef WIDGET_H  
  2. #define WIDGET_H  
  3.   
  4. #include <QWidget>  
  5. #include <QLineEdit>  
  6. #include <ActiveQt/QAxWidget>  
  7.   
  8. namespace Ui {  
  9. class Widget;  
  10. }  
  11.   
  12. class Widget : public QWidget  
  13. {  
  14.     Q_OBJECT  
  15.   
  16. public:  
  17.     explicit Widget(QWidget *parent = 0);  
  18.     ~Widget();  
  19.   
  20. private slots:  
  21.   void loadNavigate();  
  22.   
  23. private:  
  24.     Ui::Widget *ui;  
  25.     QLineEdit *lineUrl;  
  26.     QAxWidget* webWidget;  
  27. };  
  28.   
  29. #endif // WIDGET_H  

[cpp]  view plain  copy
  1. #include "widget.h"  
  2. #include "ui_widget.h"  
  3. #include <QVBoxLayout>  
  4.   
  5. Widget::Widget(QWidget *parent) :  
  6.     QWidget(parent),  
  7.     ui(new Ui::Widget)  
  8. {  
  9.     ui->setupUi(this);  
  10.   
  11.     lineUrl = new QLineEdit;  
  12.     lineUrl->setText("www.baidu.com");  
  13.     connect(lineUrl,SIGNAL(returnPressed()),this,SLOT(loadNavigate()));  
  14.   
  15.     webWidget = new QAxWidget;  
  16.     //设置ActiveX控件为IEMicrosoft Web Browser  
  17.     //设置ActiveX控件的id,最有效的方式就是使用UUID  
  18.     //此处的{8856F961-340A-11D0-A96B-00C04FD705A2}就是Microsoft Web Browser控件的UUID  
  19.     webWidget->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}"));  
  20.     webWidget->setObjectName(QString::fromUtf8("webWidget"));//设置控件的名称  
  21.     webWidget->setFocusPolicy(Qt::StrongFocus);//设置控件接收键盘焦点的方式:鼠标单击、Tab键  
  22.     webWidget->setProperty("DisplayAlerts",false); //不显示任何警告信息。  
  23.     webWidget->setProperty("DisplayScrollBars",true); // 显示滚动条  
  24.   
  25.     QVBoxLayout *mainLayout = new QVBoxLayout;  
  26.     mainLayout->addWidget(lineUrl);  
  27.     mainLayout->addWidget(webWidget);  
  28.     setLayout(mainLayout);  
  29.   
  30.     setWindowState(Qt::WindowMaximized);//最大化  
  31. }  
  32.   
  33. void Widget::loadNavigate()  
  34. {  
  35.     QString sUrl = lineUrl->text().trimmed();  
  36.     webWidget->dynamicCall("Navigate(const QString&)",sUrl);  
  37. }  
  38.   
  39. Widget::~Widget()  
  40. {  
  41.     delete ui;  
  42. }  

猜你喜欢

转载自blog.csdn.net/business122/article/details/80648241
今日推荐