本文详细的介绍了QAxWidget控件的各种操作,例如:新建界面、使用示例、显示网页、显示pdf、显示Off、源文件详细说明其它文章等等操作。
ActiveX控件是一种可重用的二进制组件,用于在Windows操作系统上提供特定的功能和服务。以下是一些常见的ActiveX控件的示例:1. Internet Explorer Web Browser Control:用于在应用程序中嵌入和显示Web浏览器。2. Microsoft Office组件(如Word、Excel、PowerPoint):用于在应用程序中嵌入和操作Office文档。3. Windows Media Player Control:用于在应用程序中嵌入和播放音频和视频文件。4. Adobe Flash Player Control:用于在应用程序中嵌入和播放Flash动画和视频。5. Crystal Reports Viewer Control:用于在应用程序中显示和打印Crystal Reports报表6. Windows Common Controls(如TreeView、ListView、ProgressBar):用于在应用程序中创建常见的用户界面控件。7. Microsoft DataGrid Control:用于在应用程序中显示和编辑数据表格。8. Microsoft Windows Image Acquisition Control:用于在应用程序中获取和处理图像。9. Microsoft Windows Media Encoder Control:用于在应用程序中进行音频和视频编码。
本系列QT全面详解文章目前共有三十八篇,本系列文章较为详细的讲述了QT控件的基础操作和使用,也谢谢大家的关注、点赞、收藏。
本文作者原创,转载请附上文章出处与本文链接。
QT QAxWidget控件 使用详解目录
- // ui->axWidget->setControl("{8856F961-340A-11D0-A96B-00C04FD705A2}");
- // ui->axWidget->dynamicCall("MethodName", "123", "hello");
- // QVariant value = ui->axWidget->dynamicCall("PropertyName");
- ui->axWidget->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}"));//注册组件ID
- ui->axWidget->setProperty("DisplayAlerts",false);//不显示警告信息
- ui->axWidget->setProperty("DisplayScrollBars",true);//不显示滚动条
- QString webstr=QString("www.baidu.com");//设置要打开的网页
- ui->axWidget->dynamicCall("Navigate(const QString&)",webstr);//显示网页
- // QString msFilePath;
- // msFilePath = "D:/t.pdf";
-
- // mpAxWidgetPdf = new QAxWidget("AcroPDF.PDF", this->ui->widget);//Excel.Application //Adobe Acrobat Reader
- // mpAxWidgetOff = new QAxWidget("Word.Application", this->ui->widget_2);
-
- // // 创建一个QAxWidget对象,并设置其控制为Excel.Application
- // // 注释中提到不显示窗体,设置DisplayAlerts为false
- // mpAxWidgetPdf->dynamicCall("SetVisible (bool Visible)", "false");
- // mpAxWidgetPdf->setProperty("DisplayAlerts", true);
- // auto rect = ui->widget->geometry();
- // mpAxWidgetPdf->setGeometry(rect);
- // mpAxWidgetPdf->setControl(msFilePath);
- // mpAxWidgetPdf->show();
- // // 创建一个QAxWidget对象,并设置其控制为Word.Application
- // // 注释中提到不显示窗体,设置DisplayAlerts为true
- // mpAxWidgetOff->dynamicCall("SetVisible (bool Visible)", "false");
- // mpAxWidgetOff->setProperty("DisplayAlerts", true);
- // rect = this->ui->widget_2->geometry();
- // mpAxWidgetOff->setGeometry(rect);
- // mpAxWidgetOff->setControl(msFilePath);
- // mpAxWidgetOff->show();
- #ifndef MAINWINDOW_H
- #define MAINWINDOW_H
-
- #include
- #include
-
- //加入GBK申明,否则中文乱码 全局使用GBK文件操作因为有中文所以使用
- #pragma execution_character_set("utf-8")
-
- 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;
-
- QString Title;
- QString Version;
- QString BlogText;
-
- QAxWidget* mpAxWidgetPdf;
- QAxWidget* mpAxWidgetOff;
- };
- #endif // MAINWINDOW_H
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- #include
- #include
- //#include "office.h"
- MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent)
- , ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
-
- Title = "QT QAxWidget CSDN 双子座断点 ";
- Version = "V 1.0 ";
- BlogText = "https://blog.csdn.net/qq_37529913?type=lately/";
- setWindowTitle(Title + Version + BlogText);
-
- // ui->axWidget->setControl("{8856F961-340A-11D0-A96B-00C04FD705A2}");
- // ui->axWidget->dynamicCall("MethodName", "123", "hello");
- // QVariant value = ui->axWidget->dynamicCall("PropertyName");
-
- // qDebug() << value;
-
-
- ui->axWidget->setControl(QString::fromUtf8("{8856F961-340A-11D0-A96B-00C04FD705A2}"));//注册组件ID
- ui->axWidget->setProperty("DisplayAlerts",false);//不显示警告信息
- ui->axWidget->setProperty("DisplayScrollBars",true);//不显示滚动条
- QString webstr=QString("www.baidu.com");//设置要打开的网页
- ui->axWidget->dynamicCall("Navigate(const QString&)",webstr);//显示网页
-
- // QString msFilePath;
- // msFilePath = "D:/t.pdf";
-
- // mpAxWidgetPdf = new QAxWidget("AcroPDF.PDF", this->ui->widget);//Excel.Application //Adobe Acrobat Reader
- // mpAxWidgetOff = new QAxWidget("Word.Application", this->ui->widget_2);
-
- // // 创建一个QAxWidget对象,并设置其控制为Excel.Application
- // // 注释中提到不显示窗体,设置DisplayAlerts为false
- // mpAxWidgetPdf->dynamicCall("SetVisible (bool Visible)", "false");
- // mpAxWidgetPdf->setProperty("DisplayAlerts", true);
- // auto rect = ui->widget->geometry();
- // mpAxWidgetPdf->setGeometry(rect);
- // mpAxWidgetPdf->setControl(msFilePath);
- // mpAxWidgetPdf->show();
-
-
-
- // // 创建一个QAxWidget对象,并设置其控制为Word.Application
- // // 注释中提到不显示窗体,设置DisplayAlerts为true
- // mpAxWidgetOff->dynamicCall("SetVisible (bool Visible)", "false");
- // mpAxWidgetOff->setProperty("DisplayAlerts", true);
- // rect = this->ui->widget_2->geometry();
- // mpAxWidgetOff->setGeometry(rect);
- // mpAxWidgetOff->setControl(msFilePath);
- // mpAxWidgetOff->show();
-
-
-
-
- }
-
- MainWindow::~MainWindow()
- {
- delete ui;
- }
-
因为博主没有安装组件所以会失败,暂时没有涉及到这个的业务工作所以没有深入展开研究下去,把实现代码贴出来供参考
- 1. QVariant(Invalid):这表示QVariant对象的值无效。可能是由于未正确初始化或设置对象的属性导致的。请确保在使用QVariant对象之前正确初始化和设置其值。
-
- 2. CoCreateInstance failure (没有注册类):这表示无法创建指定类的实例。可能是由于未正确注册类或缺少相关的组件导致的。请确保所需的类已正确注册,并且系统中已安装了相关的组件。
- 3. QAxBase::setControl: requested control AcroPDF.PDF could not be instantiated:这表示无法实例化请求的控件。可能是由于控件未正确安装或未正确注册导致的。请确保所需的控件已正确安装,并且系统中已注册该控件。
- 4. QAxBase::dynamicCallHelper: Object is not initialized, or initialization failed:这表示对象未初始化或初始化失败。可能是由于对象的初始化过程中出现了错误或问题导致的。请确保在使用对象之前正确初始化对象,并检查初始化过程中是否有任何错误。
- 要解决这些问题,您可以尝试以下步骤:
- 1. 确保所需的控件已正确安装并注册。如果您使用的是Adobe Acrobat Reader控件来显示PDF文件,请确保已正确安装Adobe Acrobat Reader,并且系统中已注册该控件。
- 2. 检查代码中是否正确设置了控件的属性和参数。请确保在使用QAxWidget对象之前正确设置其属性和参数,以确保正确的初始化和实例化。
- 3. 确保您的应用程序具有足够的权限来访问所需的控件和组件。请检查您的应用程序的权限设置,并确保它具有访问所需控件和组件的权限
QT TextEdit控件_双子座断点的博客-CSDN博客_qt textedit
QT QComboBox使用详解_双子座断点的博客-CSDN博客
QT QtableView操作详解_双子座断点的博客-CSDN博客_qtableview增删改查
Qt QStandardItemModel(1.超级详细用法)_双子座断点的博客-CSDN博客_qstandardmodel
Qt QStandardItemModel(2.超级详细函数)_双子座断点的博客-CSDN博客_qstandarditemmodel点击事件
QT QRadioButton使用详解_双子座断点的博客-CSDN博客_qt radiobutton
QT QLineEdit使用详解_双子座断点的博客-CSDN博客_qt qlineedit
Qt QMessageBox使用详解_双子座断点的博客-CSDN博客_qt message
QChart折线图、饼状图、条形图、曲线图_双子座断点的博客-CSDN博客_qchart样式
QChart属性详解_双子座断点的博客-CSDN博客_setanimationoptions
QCharts QValueAxis使用_双子座断点的博客-CSDN博客_qvalueaxis
Qt 5 等待提示框(开源 动态图)_双子座断点的博客-CSDN博客_qt 等待对话框
QtDataVisualization 数据3D可视化_双子座断点的博客-CSDN博客_qtdatavisualizatio
QT QSpinBox 整数计数器控件 使用详解_双子座断点的博客-CSDN博客
QT QDoubleSpinBox 浮点计数器控件(使用详解)_双子座断点的博客-CSDN博客_qdoublespinbox信号槽
QT QSlider、QHorizontalSlider、QVerticalSlider 控件 使用详解_双子座断点的博客-CSDN博客_qslider设置步长
QT QTabWidget 控件 使用详解_双子座断点的博客-CSDN博客
QT QCalendarWidget控件 使用详解_双子座断点的博客-CSDN博客
QT QStackedWidget 控件 使用详解_双子座断点的博客-CSDN博客
QT QVBoxLayout 垂直布局控件_双子座断点的博客-CSDN博客
QT QHBoxLayout 水平布局控件_双子座断点的博客-CSDN博客
QT QGridLayout网格布局控件_双子座断点的博客-CSDN博客
QT QVerticalSpacer 弹簧控件_双子座断点的博客-CSDN博客
QT QHorizontalSpacer弹簧控件_双子座断点的博客-CSDN博客
QT QLine 使用详解_双子座断点的博客-CSDN博客
QT QFontComboBox 使用详解_双子座断点的博客-CSDN博客
QT QScrollArea控件 使用详解_双子座断点的博客-CSDN博客
QT QToolBox控件使用详解_双子座断点的博客-CSDN博客
QT QFrame控件使用详解_双子座断点的博客-CSDN博客
QT QMdiArea控件 使用详解_双子座断点的博客-CSDN博客