Qt,在设计器中使用 COM 元素

Posted

技术标签:

【中文标题】Qt,在设计器中使用 COM 元素【英文标题】:Qt, using COM elements in designer 【发布时间】:2017-10-16 20:29:38 【问题描述】:

我有一个名为“IpeDisp.tlb”的第 3 方类型库,并希望将其添加到 Qt。 我的解决方案是使用 dumpcpp-tool 生成必要的 .cpp 和 .h 文件并添加:

TYPELIBS  = "IpeDisp.tlb" 

isEmpty(TYPELIBS) 
    message("Error typelibs")
 else 
    HEADERS  = "ipedisp.h"
    SOURCES  = "ipedisp.cpp"

我收到以下错误:

Fehler: LNK1181: cannot open input file 'release\ipedisp.obj'

你有什么想法吗?

还有一个问题: Visual Studio 允许将 COM 元素“添加”到设计器中,因此您可以将它们拖放到设计器中。这在 Qt 中也可以吗?

谢谢!

【问题讨论】:

【参考方案1】:

您的项目没有多大意义。如果.h.cpp 文件已经存在,则不需要.tlb。如果它们不存在,那么您需要自己调用 dumpcpp。即:

TEMPLATE = app
QT += axcontainer
TYPELIBS = $$system(dumpcpp IpeDisp.tlb -o IpeDisp )
SOURCES += $$PWD/IpeDisp.cpp
HEADERS += $$PWD/IpeDisp.h

【讨论】:

以上是关于Qt,在设计器中使用 COM 元素的主要内容,如果未能解决你的问题,请参考以下文章

在 qt 设计器中所做的更改对应的代码在哪里?

QT 设计器中的布局

如何在 Qt 设计器中使控件自动调整大小?

如何在 QT 设计器中重新绘制小部件

qt minimumSize() 返回 0 但在 qt 设计器中它设置为非零

有没有办法在 Qt Creator 的设计器中组织窗口/屏幕?