我正在开发一个新的Qt应用程序,我需要在其中嵌入第三方ActiveX控件;我花了最后几天学习Qt Quick Controls 2.0,但我担心ActiveX控件只能嵌入到Qt Widgets应用程序中。是不是?
如果你能提出任何关于我的问题的教程/例子也会很棒,因为对于像我这样的新手来说,这个官方版似乎有点太难了。
非常感谢!
答案 0 :(得分:1)
我们可以将Qt Quick(QML)与ActiveX Qt嵌入式小部件一起使用 在一个应用程序?
简答:是的。
详细信息:我们需要将Qt Quick和ActiveX嵌入到自己的小部件容器中。
从一开始就构建基于窗口小部件的Windows Qt应用程序。 Example
使用QWidget::createWindowContainer()将QML UI嵌入到小部件中,这是实现此目的的方法之一。
嵌入或创建一个独立的QAxWidget来保存ActiveX控件。
处理第三方ActiveX的最佳方法是导入类型库Qutlook Example (ActiveQt)。
P.S。 QML并没有阻止你在Qt中做ActiveX,但它们是两种不同类型的UI,并且不共享同一个窗口。它们只能嵌入其他Qt小部件中。我正在使用Qt / QML / ActiveX开发这样的混合应用程序,并没有完整的指南。也许有点太多的细节加上你需要处理ActiveX接口的细节,这是一个单独的主题。