目录
概述
Qt提供了两个用于创建插件的api:
- 一个高级API,用于编写Qt本身的扩展:自定义数据库驱动程序,图像格式,文本编解码器,自定义样式等。
- 用于扩展Qt应用程序的低级API。
例如,如果您想编写一个自定义的QStyle子类并让Qt应用程序动态加载它,那么您将使用高级的API。
由于高级API构建在低级API之上,因此有些问题对两者都是通用的。
如果你想为Qt Designer提供插件,请参阅Qt Designer模块文档。
高级API:编写Qt扩展
通过继承适当的插件基类、实现一些函数和添加宏,可以编写扩展Qt本身的插件。
有几个插件基类。派生插件默认存储在标准插件目录的子目录中。如果插件没有存储在适当的目录中,Qt将无法找到它们。
下表总结了插件基类。有些类是私有的,因此没有在文档中记录。你可以使用它们,但不能保证与以后的Qt版本兼容。
Base Class | Directory Name | Qt Module | Key Case Sensitivity |
---|---|---|---|
QAccessibleBridgePlugin | accessiblebridge |
Qt GUI | Case Sensitive |
QImageIOPlugin | imageformats |
Qt GUI | Case Sensitive |
QPictureFormatPlugin (obsolete) | pictureformats |
Qt GUI | Case Sensitive |
QAudioSystemPlugin | audio |
Qt Multimedia | Case Insensitive |
QDeclarativeVideoBackendFactoryInterface | video/declarativevideobackend |
Qt Multimedia | Case Insensitive |
QGstBufferPoolPlugin | video/bufferpool |
Qt Multimedia | Case Insensitive |
QMediaPlaylistIOPlugin | playlistformats |
Qt Multimedia | Case Insensitive |
QMediaResourcePolicyPlugin | resourcepolicy |
Qt Multimedia | Case Insensitive |
QMediaServiceProviderPlugin | mediaservice |
Qt Multimedia | Case Insensitive |
QSGVideoNodeFactoryPlugin | video/videonode |
Qt Multimedia | Case Insensitive |
QBearerEnginePlugin | bearer |
Qt Network | Case Sensitive |
QPlatformInputContextPlugin | platforminputcontexts |
Qt Platform Abstraction | Case Insensitive |
QPlatformIntegrationPlugin | platforms |
Qt Platform Abstraction | Case Insensitive |
QPlatformThemePlugin | platformthemes |
Qt Platform Abstraction | Case Insensitive |
QGeoPositionInfoSourceFactory | position |
Qt Positioning | Case Sensitive |
QPlatformPrinterSupportPlugin | printsupport |