Qt5的插件机制(5)--QLibrary类与QPluginLoader类



前面几片文章中提到的类,包括 QxxxFactory、QFactoryLoader、QLibraryPrivate 等, 都是Qt的内部类,不是Qt的标准API,如果要在应用程序的层次上加载库或插件,则需要借助另外两个类,QLibrary 和 QPluginLoader,这两个类属于Qt的标准API,可以在普通Qt应用程序的开发中使用。

这两个类的用法比较简单,可以在 Qt Assistant中直接找到关于他们的用法介绍,如果看了前面介绍QLibrayPrivate类的那篇文章,
这两个类学起来就更简单了。所以本文不对这两个类做过多介绍,只提纲挈领的说几点。

首先这两个类,前面的文章也提到过,他们的私有数据类都是QLibrayPrivate,所以他们实现的功能基本都是基于QLibrayPrivate这个类的。

拿QLibrary类说,可以用库的文件名来构造这个类的对象,它的 load() 方法可用于加载它绑定的库,unload() 则用于卸载库,
resolve() 方面用于实例化库中符号,这三个方法的内部都是通过调用 QLibrayPrivate类的几个同名方法实现的。

对于QPluginLoader类,它与QLibrary类显著的区别是多了一个 instance() 方法,能直接从库(插件)中获得插件的实例。

你可能感兴趣的:(插件,qt5)