[QtDesigner module]
该QDesignerCustomWidgetCollectionInterface类,可以包含多个自定义部件在一个单一的库。More…
通过继承QPyDesignerCustomWidgetCollectionPlugin。
Methods
__init__ (self)__init__ (self, QDesignerCustomWidgetCollectionInterface)list-of-QDesignerCustomWidgetInterface customWidgets (self)
Detailed Description
该QDesignerCustomWidgetCollectionInterface类,可以包含多个自定义部件在一个单一的库。
当实现一个自定义的widget插件,你把它做成一个单独的库。如果你想包括几个自定义的widget插件在同一个库中,你必须在另外的子类QDesignerCustomWidgetCollectionInterface 。
QDesignerCustomWidgetCollectionInterface包含一个单一的函数返回集合的列表QDesignerCustomWidgetInterface对象。例如,如果你有多个自定义部件CustomWidgetOne,CustomWidgetTwo和CustomWidgetThree,类的定义可能看起来像这样:
#include customwidgetoneinterface.h#include customwidgettwointerface.h#include customwidgetthreeinterface.h#include <QtDesigner/QtDesigner>#include <QtCore/qplugin.h>class MyCustomWidgets: public [QObject](docs_qobject.html), public QDesignerCustomWidgetCollectionInterface{Q_OBJECTQ_INTERFACES(QDesignerCustomWidgetCollectionInterface)public:MyCustomWidgets([QObject](docs_qobject.html) *parent = 0);virtual [QList](docs_index.htm)<[QDesignerCustomWidgetInterface](docs_qdesignercustomwidgetinterface.html)*> customWidgets() const;private:[QList](docs_index.htm)<[QDesignerCustomWidgetInterface](docs_qdesignercustomwidgetinterface.html)*> widgets;};
在类的构造函数时,将接口加入您的自定义窗口小部件,您在返回列表customWidgets( )函数:
MyCustomWidgets.MyCustomWidgets([QObject](docs_qobject.html) *parent): [QObject](docs_qobject.html)(parent){widgets.append(new CustomWidgetOneInterface(this));widgets.append(new CustomWidgetTwoInterface(this));widgets.append(new CustomWidgetThreeInterface(this));}[QList](docs_index.htm)<[QDesignerCustomWidgetInterface](docs_qdesignercustomwidgetinterface.html)*> MyCustomWidgets.customWidgets() const{return widgets;}Q_EXPORT_PLUGIN2(customwidgetsplugin, MyCustomWidgets)
请注意,而不是使用导出的每个自定义窗口小部件插件的Q_EXPORT_PLUGIN2()宏,你导出整个集合。该Q_EXPORT_PLUGIN2( )宏可确保Qt Designer可以访问和构建自定义部件。如果没有这个宏,是没有办法的Qt Designer使用它们。
Method Documentation
QDesignerCustomWidgetCollectionInterface.__init__ (self)
QDesignerCustomWidgetCollectionInterface.__init__ (self, QDesignerCustomWidgetCollectionInterface)
list-of-QDesignerCustomWidgetInterface QDesignerCustomWidgetCollectionInterface.customWidgets (self)
这种方法是抽象的,应在任何子类中重新实现。
返回接口列表,以集合的自定义部件。
