Qt 插件开发指南
1. 动态库与插件概述
动态库(也称为共享库或 DLL)是独立的模块,存储在磁盘的单独文件中,可被多个应用程序访问。程序通常在链接时指定所需的动态库,应用程序启动时会自动加载这些库。一般做法是在应用程序的 .pro 文件中添加库及其包含路径,并在源文件中包含相关头文件,例如:
LIBS += -ldb_cxx
INCLUDEPATH += usrlocal/BerkeleyDB.4.2/include
另一种方式是在需要时动态加载库,然后解析要使用的符号。Qt 提供了 QLibrary 类以实现平台无关的动态加载。给定库名的主干, QLibrary 会在平台的标准位置搜索该库。例如,对于名为 mimetype 的库,在 Windows 上会搜索 mimetype.dll ,在 Linux 上搜索 mimetype.so ,在 Mac OS X 上搜索 mimetype.dylib 。
现代 GUI 应用程序通常可以通过使用插件进行扩展。插件是一种动态库,实现特定接口以提供可选的额外功能。
2. Qt 插件类型及结构
Qt 有多种插件类型,常见的有数据库驱动、图像格式、样式和文本编解码器等。对于每种类型的插件,通常至少需要两个类:
- 插件包装类:实现通用插件 API 函数。
超级会员免费看
订阅专栏 解锁全文
1136

被折叠的 条评论
为什么被折叠?



