QDesignerCustomWidgetCollectionInterface Class Reference

[QtDesigner module]

该QDesignerCustomWidgetCollectionInterface类,可以包含多个自定义部件在一个单一的库。More…

通过继承QPyDesignerCustomWidgetCollectionPlugin

Methods

  • __init__ (self)
  • __init__ (self, QDesignerCustomWidgetCollectionInterface)
  • list-of-QDesignerCustomWidgetInterface customWidgets (self)

Detailed Description

该QDesignerCustomWidgetCollectionInterface类,可以包含多个自定义部件在一个单一的库。

当实现一个自定义的widget插件,你把它做成一个单独的库。如果你想包括几个自定义的widget插件在同一个库中,你必须在另外的子类QDesignerCustomWidgetCollectionInterface 。

QDesignerCustomWidgetCollectionInterface包含一个单一的函数返回集合的列表QDesignerCustomWidgetInterface对象。例如,如果你有多个自定义部件CustomWidgetOneCustomWidgetTwoCustomWidgetThree,类的定义可能看起来像这样:

  1. #include customwidgetoneinterface.h
  2. #include customwidgettwointerface.h
  3. #include customwidgetthreeinterface.h
  4. #include <QtDesigner/QtDesigner>
  5. #include <QtCore/qplugin.h>
  6. class MyCustomWidgets: public [QObject](qobject.html), public QDesignerCustomWidgetCollectionInterface
  7. {
  8. Q_OBJECT
  9. Q_INTERFACES(QDesignerCustomWidgetCollectionInterface)
  10. public:
  11. MyCustomWidgets([QObject](qobject.html) *parent = 0);
  12. virtual [QList]($docs-index.htm)<[QDesignerCustomWidgetInterface]($docs-qdesignercustomwidgetinterface.html)*> customWidgets() const;
  13. private:
  14. [QList]($docs-index.htm)<[QDesignerCustomWidgetInterface]($docs-qdesignercustomwidgetinterface.html)*> widgets;
  15. };

在类的构造函数时,将接口加入您的自定义窗口小部件,您在返回列表customWidgets( )函数:

  1. MyCustomWidgets.MyCustomWidgets([QObject](qobject.html) *parent)
  2. : [QObject](qobject.html)(parent)
  3. {
  4. widgets.append(new CustomWidgetOneInterface(this));
  5. widgets.append(new CustomWidgetTwoInterface(this));
  6. widgets.append(new CustomWidgetThreeInterface(this));
  7. }
  8. [QList]($docs-index.htm)<[QDesignerCustomWidgetInterface]($docs-qdesignercustomwidgetinterface.html)*> MyCustomWidgets.customWidgets() const
  9. {
  10. return widgets;
  11. }
  12. Q_EXPORT_PLUGIN2(customwidgetsplugin, MyCustomWidgets)

请注意,而不是使用导出的每个自定义窗口小部件插件的Q_EXPORT_PLUGIN2()宏,你导出整个集合。该Q_EXPORT_PLUGIN2( )宏可确保Qt Designer可以访问和构建自定义部件。如果没有这个宏,是没有办法的Qt Designer使用它们。


Method Documentation

  1. QDesignerCustomWidgetCollectionInterface.__init__ (self)
  1. QDesignerCustomWidgetCollectionInterface.__init__ (self, QDesignerCustomWidgetCollectionInterface)
  1. list-of-QDesignerCustomWidgetInterface QDesignerCustomWidgetCollectionInterface.customWidgets (self)

这种方法是抽象的,应在任何子类中重新实现。

返回接口列表,以集合的自定义部件。