2016-03-03 75 views
0

我刚刚下载了QT的副本以评估它是否适用于某个项目。我的第一个目标是创建一个包含对话框的库。目标是看看QT是否支持创建可以加载到各种程序中的模块。类似于您可以在Windows中创建.dll并将资源放入其中的方式。如何创建QT库对话框

这是可能(或合理的)在QT中做?

如果是这样,怎么样?如果没有,那么有什么选择来创建可重用的QT模块?

+0

为了清楚起见:您是否想要在非Qt应用程序中加载基于Qt的模块? – Tomas

+0

如果模块可以加载到非Qt应用程序中,那将是很好的,但这不是必需的。它可能是一个加载到Qt应用程序中的Qt模块。该模块必须包含资源(字符串,对话框,图像,声音文件等)。另外,如果它与平台无关,它将会很好。 – Mitch

+0

如何构建基于QT的dll(例如a.dll)。在你的exe文件中,不要链接a.dll,只需使用LoadDll来调用你需要的QT对话框?但是你仍然需要所有的QT dll。如果你建立一个基于QT的库,你的exe将基于QT,因为你必须链接QT库。 – neohope

回答

-1

是的,在共享库中可以有Qt对话框,但有一些注意事项。最大的问题是,您需要运行完整的QApplication事件循环,每次要调用基于Qt的对话框时,启动和维护的代价都很高,而且还意味着要分发的库数量增加。

+0

你知道如何创建一个在库中使用qt对话框的qt应用程序吗? – Mitch

+0

这是吗? http://doc.qt.io/qt-5/qtwidgets-tools-plugandpaint-example.html – Mitch