【问题标题】:Qt - Embed an ActiveX ControlQt - 嵌入 ActiveX 控件
【发布时间】:2017-10-05 15:40:25
【问题描述】:

我正在开发一个新的 Qt 应用程序,我需要在其中嵌入一个第三方 ActiveX 控件;我在最后几天学习了 Qt Quick Controls 2.0,但我担心 ActiveX 控件只能嵌入到 Qt Widgets 应用程序中。对吗?

如果您能就我的问题提出任何教程/示例,那也很棒,因为对于像我这样的新手来说,官方的似乎有点太难了。

非常感谢!

【问题讨论】:

    标签: qt activex qtquick2 qtwidgets


    【解决方案1】:

    我们能否将 Qt Quick (QML) 与 ActiveX Qt 嵌入式小部件一起使用 在一个应用中?

    简短回答:是的。

    详细信息:我们需要将 Qt Quick 和 ActiveX 都嵌入到它们自己的小部件容器中。

    附: QML 不会阻止您在 Qt 中执行 ActiveX,但它们是两种不同类型的 UI,并且不共享同一个窗口。它们只能嵌入到其他 Qt 小部件中。我正在使用 Qt/QML/ActiveX 开发此类混合应用程序,但没有完整的指南。也许细节太多了,而且您需要处理 ActiveX 接口的细节,这是一个单独的主题。

    【讨论】:

    • 只需使用QQuickWidget 而不是QQuickView + QWidget::createWindowContainer()
    • 非常感谢您的回答,它为我澄清了很多事情!我现在还有一个问题:假设我在 QML 中有一个按钮,并且我想在单击时在 ActiveX 控件中执行某些操作,我该如何实现?我是否必须将点击信号“附加”到小部件窗口内的插槽,然后调用 ActiveX 控件?
    • 是的,signal-slot 是一种通用机制,会传递消息。stackoverflow.com/questions/43758113/…
    猜你喜欢
    • 1970-01-01
    • 2011-07-27
    • 1970-01-01
    • 2011-02-04
    • 2011-02-13
    • 1970-01-01
    • 2010-09-18
    • 1970-01-01
    • 2019-06-12
    相关资源
    最近更新 更多