DLL通过C API提供QWidget

时间:2013-04-17 12:43:23

标签: c++ qt dll

我有一个Qt主应用程序,它使用C API动态加载DLL。我不能使用Qt插件,因为一些DLL是纯粹的C.

现在我希望DLL能够让主Qt应用程序打开一个窗口,装饰它并添加DLL提供的QWidget。

我担心如果我只是将它作为一个void *推出并将其添加为QWidget,主窗口应用程序将在窗口关闭时尝试释放它,这可能会导致未定义的行为。

1 个答案:

答案 0 :(得分:1)

主要问题是主应用程序是动态还是静态链接到Qt。如果是动态的,那就解决了静态数据共享的问题(因为它主要驻留在DLL中)。

如果没有更多细节,我只会说“尝试一下”,看看有什么破裂。