QDesignerMemberSheetExtension Class Reference

[QtDesigner module]

该QDesignerMemberSheetExtension类允许你操纵它使用Qt Designer的模式进行编辑信号和槽组态连接时显示一个窗口部件的成员函数。More…

通过继承QPyDesignerMemberSheetExtension

Methods

  • __init__ (self)
  • __init__ (self, QDesignerMemberSheetExtension)
  • int count (self)
  • QString declaredInClass (self, int index)
  • int indexOf (self, QString name)
  • bool inheritedFromWidget (self, int index)
  • bool isSignal (self, int index)
  • bool isSlot (self, int index)
  • bool isVisible (self, int index)
  • QString memberGroup (self, int index)
  • QString memberName (self, int index)
  • list-of-QByteArray parameterNames (self, int index)
  • list-of-QByteArray parameterTypes (self, int index)
  • setMemberGroup (self, int index, QString group)
  • setVisible (self, int index, bool b)
  • QString signature (self, int index)

Special Methods

  • __len__ (self)

Detailed Description

该QDesignerMemberSheetExtension类允许你操纵它使用Qt Designer的模式进行编辑信号和槽组态连接时显示一个窗口部件的成员函数。

QDesignerMemberSheetExtension是通常用于查询控件的成员函数,并操控成员函数’出现在函数的集合Qt Designer的信号和槽的编辑模式。例如:

  1. QDesignerMemberSheetExtension *memberSheet = 0;
  2. [QExtensionManager]($docs-qextensionmanager.html) manager = formEditor->extensionManager();
  3. memberSheet = qt_extension<QDesignerMemberSheetExtension*>(manager, widget);
  4. int index = memberSheet->indexOf(setEchoMode);
  5. memberSheet->setVisible(index, false);
  6. delete memberSheet;

当实现一个自定义的widget插件,一个指向Qt Designer目前的QDesignerFormEditorInterface对象(formEditor在上面的例子)是由提供QDesignerCustomWidgetInterface.initialize( )函数的参数。

成员表(以及任何其他扩展名) ,可以通过查询检索Qt Designer使用的扩展管理器qt_extension()函数。当你要释放的扩展,你只需要删除的指针。

所有部件都使用默认成员表Qt Designer的信号和槽的编辑模式与Widget的成员函数。但QDesignerMemberSheetExtension还提供了用于创建自定义成员表扩展的接口。

Warning: Qt Designer使用QDesignerMemberSheetExtension便于信号和槽的编辑模式。当被要求2的部件之间的连接,Qt Designer将查询窗口小部件’成员表扩展。如果某个部件有一个实现的成员表的扩展,这个扩展将复盖默认成员表。

要创建成员表的扩展,你的扩展类必须继承自两个QObject和QDesignerMemberSheetExtension 。然后,因为我们正在实现一个接口,我们必须确保它是由已知的元对象系统中使用Q_INTERFACES()宏:

  1. class MyMemberSheetExtension : public [QObject]($docs-qobject.html),
  2. public QDesignerMemberSheetExtension
  3. {
  4. Q_OBJECT
  5. Q_INTERFACES(QDesignerMemberSheetExtension)
  6. public:
  7. ...
  8. }

这使Qt Designer使用qobject_cast()来查询只是用一个接口支持QObject指针。

In Qt Designer未创建的扩展,直到你需要它们。出于这个原因,实施部件片扩展时,您还必须创建一个QExtensionFactory,即一个类,它能够让你的扩展的一个实例,并使用它注册Qt Designerextension manager

当一个部件的材料片扩展是必需的,Qt Designerextension manager将通过其所有已注册的工厂运行要求QExtensionFactory.createExtension( )对每一直到第一个即能创建成员表扩展的小部件,被发现。这家工厂将使这个扩展的实例。如果没有找到这样的工厂,Qt Designer将使用默认的成员表。

有扩展的四个可用的类型Qt DesignerQDesignerContainerExtension, QDesignerMemberSheetExtension ,QDesignerPropertySheetExtensionQDesignerTaskMenuExtensionQt Designer的行为是一样的具有多页的容器,一个成员表,属性表或任务菜单中的延期申请是否相关。

QExtensionFactory类提供了一个标准的扩展工厂,并且也可以用作用于定义扩展工厂的接口。您可以创建一个新的QExtensionFactory并重新实现QExtensionFactory.createExtension()函数。例如:

  1. [QObject]($docs-qobject.html) *ANewExtensionFactory.createExtension([QObject]($docs-qobject.html) *object,
  2. const [QString](qstring.html) &iid, [QObject]($docs-qobject.html) *parent) const
  3. {
  4. if (iid != Q_TYPEID(QDesignerMemberSheetExtension))
  5. return 0;
  6. if (MyCustomWidget *widget = qobject_cast<MyCustomWidget*>
  7. (object))
  8. return new MyMemberSheetExtension(widget, parent);
  9. return 0;
  10. }

或者您可以使用现有的工厂,扩大QExtensionFactory.createExtension( )函数,使工厂能够创建成员表扩展为好。例如:

  1. [QObject]($docs-qobject.html) *AGeneralExtensionFactory.createExtension([QObject]($docs-qobject.html) *object,
  2. const [QString](qstring.html) &iid, [QObject]($docs-qobject.html) *parent) const
  3. {
  4. MyCustomWidget *widget = qobject_cast<MyCustomWidget*>(object);
  5. if (widget && (iid == Q_TYPEID([QDesignerTaskMenuExtension]($docs-qdesignertaskmenuextension.html)))) {
  6. return new MyTaskMenuExtension(widget, parent);
  7. } else if (widget && (iid == Q_TYPEID(QDesignerMemberSheetExtension))) {
  8. return new MyMemberSheetExtension(widget, parent);
  9. } else {
  10. return 0;
  11. }
  12. }

对于使用扩展类的完整示例,请参见Task Menu Extension example。该示例显示了如何创建一个自定义的widget插件Qt Designer中,以及如何使用QDesignerTaskMenuExtension类的自定义项添加到Qt Designer的任务菜单。


Method Documentation

  1. QDesignerMemberSheetExtension.__init__ (self)
  1. QDesignerMemberSheetExtension.__init__ (self, QDesignerMemberSheetExtension)
  1. int QDesignerMemberSheetExtension.count (self)

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

返回的成员函数分机的号码。

  1. QString QDesignerMemberSheetExtension.declaredInClass (self, int index)

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

返回类,其中的成员函数在给定的名称index声明。

See also indexOf( ) 。

  1. int QDesignerMemberSheetExtension.indexOf (self, QString name)

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

返回该成员函数通过给定的指定的索引name

See also memberName( ) 。

  1. bool QDesignerMemberSheetExtension.inheritedFromWidget (self, int index)

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

返回True如果给定的成员函数index从继承QWidget,否则为False 。

See also indexOf( ) 。

  1. bool QDesignerMemberSheetExtension.isSignal (self, int index)

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

返回True如果给定的成员函数index是一个信号,否则为False 。

See also indexOf( ) 。

  1. bool QDesignerMemberSheetExtension.isSlot (self, int index)

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

返回True如果给定的成员函数index是一个插槽,否则为False 。

See also indexOf( ) 。

  1. bool QDesignerMemberSheetExtension.isVisible (self, int index)

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

返回True如果给定的成员函数index在可见Qt Designer的信号和槽的编辑器,否则为False 。

See also indexOf()和setVisible( ) 。

  1. QString QDesignerMemberSheetExtension.memberGroup (self, int index)

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

返回函数与给定指定的成员组的名称index

See also indexOf()和setMemberGroup( ) 。

  1. QString QDesignerMemberSheetExtension.memberName (self, int index)

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

返回该成员函数的名称与给定index

See also indexOf( ) 。

  1. list-of-QByteArray QDesignerMemberSheetExtension.parameterNames (self, int index)

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

返回该成员函数的参数名称与给定index作为QByteArray列表。

See also indexOf()和parameterTypes( ) 。

  1. list-of-QByteArray QDesignerMemberSheetExtension.parameterTypes (self, int index)

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

返回该成员函数的参数类型与给定index作为QByteArray列表。

See also indexOf()和parameterNames( ) 。

  1. QDesignerMemberSheetExtension.setMemberGroup (self, int index, QString group)

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

设置成员函数的成员组给定的index,以group

See also indexOf()和memberGroup( ) 。

  1. QDesignerMemberSheetExtension.setVisible (self, int index, bool b)

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

If visible诚然,与成员函数在给定index在可见Qt Designer的信号和槽的编辑模式,否则该成员函数被隐藏。

See also indexOf()和isVisible( ) 。

  1. QString QDesignerMemberSheetExtension.signature (self, int index)

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

返回该成员函数的签名与给定index

See also indexOf( ) 。

  1. QDesignerMemberSheetExtension.__len__ (self)