问题标签 [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.
c++ - Qt 中的 Internet Explorer 窗口?
有没有办法在Qt Widget 中显示 Internet Explorer 实例/框架?我需要在我的应用程序中显示一个网页(只显示,不需要交互),当我阅读WebKit for Qt时,我想知道是否有其他方法没有它,因为我试图保持应用程序尽可能小,包含这么大的库会让我非常不高兴(没人想要这样,对吧?)
qt - ActiveQt 包含什么模块?
.pro
为了使用 Active Qt,我应该在文件中包含什么模块?我的意思是QT += ?
。并且:我可以使用 ActiveQt 开发商业软件吗?(我正在使用 Qt LGPL)。
c++ - 如何使用来自 activeqt 的派生接口?
我有一个我认为在 COM 中相当简单的接口。我想在activeqt中实现它。我能够让 ATL 原型工作,但我宁愿使用 qt 小部件和信号而不是 COM 控件。
我可以在python的comtypes中加载ATL COM dll并运行help(ATLDll)
,接口的相关扩展是
我不确定如何在 activeqt 中获得相同的东西。ATL 正在使用此代码来定义接口(我认为,这是在自动生成的 _i.h 文件中):
然后类定义继承自
我试过混合activeqt和ATL,但到目前为止我还没有成功。我应该改用 dumpcpp 吗?[编辑]如果您想从 Qt 调用现有的 COM 对象,dumpcpp 很有用,但无助于提取接口以在 activeQt 中使用。[/edit] 那是在不混合ATL和activeqt的情况下覆盖接口的方法吗?我想知道 qt 工具和 ATL 是否都试图生成 idl 是我挣扎的根源......
谢谢!
string - Qt Webkit 桥接 ActiveQt 字符串
另请参阅我的部分问题:从 JavaScript 传递到 Qt/C++ 对象的字符串
WebPage
我在我的WebView
(使用)上使用了这个自定义setPage
,字符串被错误地传递了。当我禁用调用setPage
时,字符串正确传递。
我有一个 C++ 对象(继承自QWidget
),它在网页上显示一个 activeX(使用ActiveQt
and QWebView
)。ActiveX 对象显示得很好。我已经注册了自定义类型并使用 Qt MetaType 系统来实例化 HTML 对象。
如果我想更新该 C++ 对象(不是 ActiveX)的属性并从 JavaScript 调用,则字符串会得到错误的翻译。如果我传入一些字符串,我只会在我的 C++ 方法中得到一个 1 个字符的字符串。查看内存告诉我整个字符串都存在(格式化为 UTF-32)。
如果我现在不调用WebPage
为我加载插件的自定义(使用setPage
on QWebView
),我不会得到 ActiveX - 这是预期的 - 并且字符串被正确传递。
我不太明白为什么这不起作用。即使setPage
被调用,我也是通过 JavaScript/QtWebKit 桥与 C++ 对象交谈,而不是与 ActiveX 组件交谈。
我在 Windows 7 上,64 位,使用 Qt 4.7.4。
一些代码(C++):
然后在我的窗户上
c++ - ActiveQt Com 应用示例 - COM 服务器未在 Windows 注册表中注册 (Qt4.7.4)
我目前正在尝试使用 Qt 安装提供的示例项目 Com App (Qt_folder\Examples\4.7\activeqt\comapp)
我在 Windows、Qt Creator 2.3.0 和 MinGw 编译器上使用 4.7.4 版。
所以示例项目编译并运行良好,但似乎 COM 服务器信息未注册到注册表中,因为我无法从任何脚本访问它,而且我也无法在注册表中找到 UID,这意味着 COM 服务器未注册。
我试图从 3 天前找到解决方案,但我开始感到绝望。欢迎任何帮助。
ps对不起我的英语不是我的母语
visual-studio - ActiveQt 示例 - COM 应用程序 - 类命名
我正在尝试将 OLE 支持添加到我的程序中。我首先编译了一个 Qt 示例: http ://doc.qt.digia.com/stable/activeqt-comapp.html
此示例导出 1 个类和 2 个类型:
为了测试,我在 Microsft Visual C++ 中导入(add class, MFC class from Typelib) 问题是,导入后,我的类改名了:
所以当我调用CApplication::Getdocuments()它返回一个DocumentList*并且这个类是未知的!我究竟做错了什么?
编辑:在 VB 项目中测试,它工作正常!所以在VC++中导入tlb的时候肯定有问题
c++ - ActiveQt:激活已经打开的 Word 文档
我正在尝试使用 activeQt 写入打开的 Word 文档。我正在尝试激活我的 word 文档,但我无法让它工作。
我可以很容易地在 VBA 中做到这一点:
但不是在 Qt 中,这是我尝试过的:
Documents() 应该包含所有打开的 Word 文档,但对我来说,由于某种原因它是空的。
qt - 如何在没有注册的情况下在 Qt 中使用来自 dll 的 COM 对象
我有一个带有控件的 COM 可见 dll,我需要在我的 Qt 应用程序 (4.8.4) 中使用它。c#中的控制代码
我使用 QAxWidget 来这样称呼它
但当然它不会起作用,因为在注册表中没有关于我的控制的信息
我读了这篇文章http://msdn.microsoft.com/en-us/library/ms973915.aspx,它说这可以通过清单来解决,我对我的 Qt 应用程序尝试了同样的方法,但它不起作用,它仍然说
要么我没有以正确的方式为 Qt 设置清单,要么 setControl() 方法总是查看注册表。怎么知道怎么处理?
谢谢
c++ - 如何将 VARIANT* 与 dynamicCall 一起使用?
我正在尝试使用 COM 对象,但参数类型 VARIANT* 有问题。我可以很好地使用 COM 对象的功能,除非它们具有这种类型的参数。
generateDocumentation 生成的文档是:
QVariantList 参数 = ...
object->dynamicCall("GetRanges(int,int,int&, QVariant&)", params);
根据COM对象提供的文档,参数的类型应该是LONG、LONG、LONG*和VARIANT*,准确的说VARIANT*是指向包含BSTR数组的VARIANT的指针。
我通常应该能够检索第三个和第四个参数(类型为 LONG* 和 VARIANT*),并且函数不使用它们的值。
这是我的代码(a 和 b 是 int 先前初始化的):
现在使用该代码,我得到的只是一个错误 QAxBase: Error calling IDispatch member GetRanges: Unknown error,这不是很有帮助。
我试图改变一些事情,并通过使用以下代码设法取得进展(某种程度):
它摆脱了错误,最后 i 的值是正确的,但 sl 仍然是空的。我知道它不应该,因为我有一个 C# 中的示例演示可以正常工作。
因此,如果有人对如何使它起作用有任何想法...
不然我看了一圈,发现也可以查询接口直接使用,但是我不是很懂,不知道能不能解决我的问题。
我在 Windows7 64 位平台上,我使用 msvc2012 作为编译器。我现在正在使用 Qt 5.1.0,但它在 5.0.2 中也不起作用。