Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QDesignerCustomWidgetCollectionInterface Class Reference
[QtDesigner module]

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

通过继承QPyDesignerCustomWidgetCollectionPlugin

Methods


Detailed Description

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

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

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

 #include customwidgetoneinterface.h
 #include customwidgettwointerface.h
 #include customwidgetthreeinterface.h

 #include <QtDesigner/QtDesigner>
 #include <QtCore/qplugin.h>

 class MyCustomWidgets: public QObject, public QDesignerCustomWidgetCollectionInterface
 {
     Q_OBJECT
     Q_INTERFACES(QDesignerCustomWidgetCollectionInterface)

 public:
     MyCustomWidgets(QObject *parent = 0);

     virtual QList<QDesignerCustomWidgetInterface*> customWidgets() const;

 private:
     QList<QDesignerCustomWidgetInterface*> widgets;
 };

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

 MyCustomWidgets.MyCustomWidgets(QObject *parent)
         : QObject(parent)
 {
     widgets.append(new CustomWidgetOneInterface(this));
     widgets.append(new CustomWidgetTwoInterface(this));
     widgets.append(new CustomWidgetThreeInterface(this));
 }

 QList<QDesignerCustomWidgetInterface*> 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)

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

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




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5