问题标签 [activeqt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1143 浏览

c++ - 使用 IDispatch* 类型的参数连接 QAxObject 事件

我正在尝试使用 ActiveQt 库来处理具有 IDispatch * 类型参数的 ActiveX 事件,例如在 idl 文件中。

我使用了 dumpcpp.exe 并为该对象生成了一个头文件和一个 cpp 文件。生成的文件跳过了事件生成,如头文件所示:

根据该文档,IDispatch* 参数应转换为“QAxBase::asVariant()”。因此,我尝试将事件连接如下:

我连接 OnError 的信号没有问题,但是 OnResult 的连接失败了

Object::connect: 没有这样的信号 ClientLib::IFactory::OnResult(QAxObject*,int)

请帮助我了解 IDispatch* 类型的参数应该使用什么参数类型?

非常感谢!

0 投票
0 回答
134 浏览

qt - 如何在 Windows 窗体中使用从 QWidget 派生的类?

我一直在尝试从 QWidget 类中创建一个 COM 对象(.dll)以在 C# Windows 窗体中使用。有问题的类来自一个名为 Qgis 的开源 gis 库。

我知道 ActiveQt 存在,但它的文档并不全面,而且似乎有些过时。

我的最终目标是在 Qt 中创建一个类似“用户控件”的对象并将其导入到 Visual Studio 环境中。

你能指点我一个指南或其他东西来帮助我吗?

0 投票
0 回答
94 浏览

qt - QAxServer/ActiveQt 是否支持较新版本的 Visual Studio?

http://doc.qt.io/qt-5/activeqt-server.html

此链接中的“支持的客户端”部分表明 ActiveQt 支持“Microsoft Visual Studio.NET/2003”。这是否意味着它不支持任何更新的东西?我正在尝试使用 ActiveQt 创建一个 ActiveX 服务器并在 VS2012 中使用它。但到目前为止,我运气不好。

0 投票
1 回答
286 浏览

c++ - 如何使用 C++ 访问 ActiveQt 网络浏览器

我在一个小部件中使用 Active-qt 创建了 Web 浏览器,在第二个小部件中我有一个由我创建的虚拟键盘。我必须用虚拟键盘在浏览器的文本框中(例如谷歌搜索框)写。我正在使用键盘发送事件方法将按键事件发送到浏览器,但它没有写入网络浏览器。当我在第一个小部件中创建了行编辑并尝试通过相同的虚拟键盘进行书写时,它正在完美地书写,但在浏览器的情况下它没有书写。所以我想访问浏览器的 HTML 内容来获取网站搜索框的 id。所以我把焦点放在那个特定的 ID 上。我很无奈请帮忙。提前致谢。Technology Stack QT:Active Qt 组件、Qt 5.7.0、带有 Min Gw 和 c++ 的 Qt creator IDE。

编辑:测试用例的代码片段将单个按钮按下事件发送到附加设计器快照的网络浏览器以及代码片段。 在此处输入图像描述

0 投票
0 回答
67 浏览

c++ - 在 ActiveQt 中打开新窗口信号

我怎样才能获得在新标签页中打开链接的信号。我正在使用 QTabWidget,我不想在 IE 浏览器中打开它。我想在 ActiveQt 中捕获信号并在 QTabWidget 中打开新选项卡。

你能给我 ActiveQt (QAxWidget) 中的信号处理程序吗?

提前致谢。

0 投票
2 回答
298 浏览

c++ - 如何使用 ActiveQt 将工作表附加到 Excel 中的工作簿末尾?

我有兴趣使用ActiveQt 我查看了生成的QAxObject“工作表”文档中的 Copy() 方法将工作表复制到工作簿的末尾,该方法的写法如下:

显然,如果不将某些内容传递给参数 Before,就无法将值传递给参数 After。

我一直在努力寻找一种方法来做到这一点,但没有找到任何线索

我查看了 C# 和 VBA,但它们都使用了我在 ActiveQt 中找不到的“缺失”常量。

目前我在一个临时工作表之前添加(或复制),最后我将其删除。

如果没有解决方案只使用 After

那么关于如何将工作表添加到工作簿末尾的任何建议?或者如何使用可选参数ActiveQt

提前致谢!

0 投票
1 回答
337 浏览

c++ - 如果 Excel.Application 不可见,activeQt 无法打开 *.xls

尝试使用 activeQt 和代码打开 *.xls 文件时:

我收到一个错误:

QAxBase:调用 IDispatch 成员打开时出错:未知错误

程序意外结束。

我搜索了互联网,发现如果将excel属性Visible设置为true,一切都会顺利进行,没有错误。有趣的是,我必须在打开文件之前设置这个属性,否则程序会崩溃。但是,如果我true在打开文件后将其设置为,excel 应用程序将正确显示(向我显示文件中的数据)但程序会崩溃。

我正在寻找一个真正的解决方案,或问题的原因。我不希望excel用户随时看到。

所以让它可见然后不可见对我来说不是一个令人满意的解决方案

ps 以前在我的笔记本电脑上 100% 正确运行的相同代码,然后它开始崩溃。在我的工作场所,他们在电脑上遇到了同样的问题,所以我的同事过去常常在我的电脑上运行他的应用程序来检查它们是否工作。这是一个坏习惯,因为我们不知道用户的情况会怎样

我正在使用 Qt 5.8.0、MS Office 2016 和 MS Office 2012。

0 投票
0 回答
241 浏览

qt - 在 Qt 4.8 中,QWidget 中的 MS Excel ActiveX 控件没有用于数据格式化的功能区

我正在尝试在我的 qt 小部件中打开一个 MS Excel 工作簿。使用以下代码,我可以在我的 qt 应用程序中成功打开工作簿。我正在使用嵌入在 QWidget 中的 QAxWidget。

这是我的输出:- 在此处输入图像描述

我的问题:

从上面的输出中可以清楚地看出,excel 工作簿已打开以查看和编辑单元格,但我想显示办公室功能区和选项卡以格式化工作簿。如何显示功能区/格式化 UI 控件以便我可以在工作簿上进行格式化?

0 投票
0 回答
97 浏览

c++ - 使用 Web 浏览器时出现活动 Qt 错误

我在目标中使用 Active Qt 在我的 qt 应用程序中显示 Web 浏览器。我可以在选项卡中显示谷歌地图页面。它使用基于 ActiveX 的组件和内部的 Internet Explorer 浏览器。一切都很好,但是当我用鼠标调整窗口大小时,在手动调整大小 1 或 2 秒后,我有一个奇怪的不想要的大小调整为我的原始大小 (800x600)。

您有避免这种奇怪行为的提示吗?

ps:我使用 Qt 5.6.2 因为我需要关于 Windows XP 的兼容性

0 投票
1 回答
156 浏览

c++ - Qt - ActiveX - 如何处理自定义输出参数?

考虑如下idl定义:

dumpcpp生成代码如下:

如果我直接调用它会返回类型不匹配ClientControl::GetServerConnection

QAxBase:调用 IDispatch 成员 GetServerConnection 时出错:参数 0 中的类型不匹配

如何IServerConnectionClientControl


在@Remy Lebeau 的建议下,idl更改为:

然后生成的源代码dumpcpp

通过调用GetServerConnection如下:

它输出:

更改背后的源代码或实现idl是不可能的。我无法将接口更改为返回类型,这是另一个问题。

这更像是一个Qt问题,而不是idl.