QT Word文档控件QAxWidget C++简单例子

avatar
作者
筋斗云
阅读量:0

这方面的资源确实很少,笔者基本上是靠ChatGpt 3一点点试出来的

再到后面chatgpt也不顶用了,只能去阅读QAxWidget的源码,还有最重要一点说阅读WORD COM组件的MSDN文档

Application 对象 (Word) | Microsoft Learn

1、一个最简单的例子

QT       += core gui axcontainer

MainWindow.h

#ifndef MAINWINDOW_H #define MAINWINDOW_H  #include <QMainWindow> #include <QAxWidget>  QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE  class MainWindow : public QMainWindow {     Q_OBJECT  public:     MainWindow(QWidget *parent = nullptr);     ~MainWindow();  private:     Ui::MainWindow *ui;      QAxWidget *m_ax = nullptr;      // QWidget interface protected:     virtual void resizeEvent(QResizeEvent *event) override; };   #endif // MAINWINDOW_H 

 MainWindow.cpp

#include "MainWindow.h" #include "ui_MainWindow.h"  MainWindow::MainWindow(QWidget *parent)     : QMainWindow(parent)     , ui(new Ui::MainWindow) {     ui->setupUi(this);      m_ax = new QAxWidget(this);     m_ax->setControl("D:\\1.docx"); }  MainWindow::~MainWindow() {     delete ui; }  void MainWindow::resizeEvent(QResizeEvent *event) {     if (m_ax != nullptr)     {         QRect rc = rect();         m_ax->setGeometry(0, 0, rc.width(), rc.height());     } }  

效果图:

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!