Qt provides two APIs for creating plugins:

  • A high-level API for writing extensions to Qt itself: custom database drivers, image formats, text codecs, custom styles, etc.
  • A low-level API for extending Qt applications.

For example, if you want to write a custom QStyle subclass and have Qt applications load it dynamically, you would use the higher-level API.
Since the higher-level API is built on top of the lower-level API, some issues are common to both.

Reference

https://doc.qt.io/qt-5/plugins-howto.html