什么是QT插件? qt插件和自定义qt库有什么区别?
感谢。
答案 0 :(得分:14)
AFAIK Qt插件实现为共享库(Unix上的.so和Windows上的DLL)。它们之间的差异通常与插件和库相同。
这意味着, 插件架构独立于链接方法 。 它们通常被认为是插件/动态链接和非插件/静态链接。
核心应用程序指定接口和数据交换合同(即API),单独的模块可以通过该合同与应用程序交互并通过应用程序公开功能。只是在DLL 中发布新模块并不能满足应用程序本身发现这些DLL 的方式,并且知道如何在其中执行逻辑。这是插件架构的本质。通常,DLL仅公开一系列过程或函数。 dll中的变量,类,对象不能直接访问外部进程。编写插件涉及将大部分或全部相关代码移动到DLL中,其中可以直接引用所有变量和对象。
像 Eclipse 之类的东西,其中你将插件放在一个预定义的目录中,下次你点击一些菜单时你会看到新的条目。所有这些都不会重新启动您的app
或运行新版本的exe
。
答案 1 :(得分:5)
你称之为Qt插件的功能正式是Qt中的一个框架,允许开发人员为他们的应用程序提出一个插件系统。 Qt Plugin处理插件的动态加载,可以通过应用程序通过插件接口使用。您可以查看Qt Plugin documentation以获取更多信息和示例。