Qt插件系统

目录

概述

高级API:编写Qt扩展

低级API:扩展Qt应用程序

加载插件

静态插件

链接静态插件的详细信息

创建静态插件

部署和调试插件

插件目录

动态加载和验证插件

调试插件


概述

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

You can do more

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值