14

什么是 QT 插件?qt 插件和定制的 qt 库有什么区别?

谢谢。

4

2 回答 2

15

AFAIK Qt 插件被实现为共享库(Unix/Linux 上的 .so 和 Windows 上的 DLL)。它们之间的区别与一般的插件相同。

这意味着,插件架构独立于链接方法。它们往往被认为是插件/动态链接和非插件/静态链接。

核心应用程序指定了一个接口和数据交换契约(即 API),通过它,单独的模块可以与应用程序交互并通过应用程序公开功能。仅仅在 DLL 中提供新模块并不能满足应用程序本身发现这些 DLL并知道如何执行其中的逻辑的方法的需求。这是插件架构的本质。通常,DLL 只公开一系列过程或函数。外部进程无法直接访问 dll 中的变量、类、对象。编写插件涉及将大部分或所有相关代码移动到 DLL 中,其中所有变量和对象都可以直接引用。

Eclipse之类的东西,您将插件放在预定义的目录中,下次单击某个菜单时,您会看到新条目。所有这一切都无需重新启动app或运行新版本的exe.

于 2010-05-10T14:53:27.397 回答
5

您称为 Qt 插件的功能正式地是 Qt 内部的一个框架,它允许开发人员为他们的应用程序提出一个插件系统。Qt Plugin 处理插件的动态加载,应用程序可以通过插件接口使用这些插件。您可以查看Qt 插件文档以获取更多信息和示例。

于 2010-05-10T14:43:00.710 回答