QExtensionManager Class Reference

[QtDesigner module]

该QExtensionManager类提供扩展的管理设施, Qt Designer中。More…

继承QObjectQAbstractExtensionManager

Methods

  • __init__ (self, QObject parent = None)
  • QObject extension (self, QObject object, QString iid)
  • registerExtensions (self, QAbstractExtensionFactory factory, QString iid = QString())
  • unregisterExtensions (self, QAbstractExtensionFactory factory, QString iid = QString())

Detailed Description

该QExtensionManager类提供扩展的管理设施, Qt Designer中。

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

的延伸工厂登记通常在做QDesignerCustomWidgetInterface.initialize( )函数:

  1. void MyPlugin.initialize([QDesignerFormEditorInterface]($docs-qdesignerformeditorinterface.html) *formEditor)
  2. {
  3. if (initialized)
  4. return;
  5. QExtensionManager *manager = formEditor->extensionManager();
  6. Q_ASSERT(manager != 0);
  7. manager->registerExtensions(new MyExtensionFactory(manager),
  8. Q_TYPEID([QDesignerTaskMenuExtension]($docs-qdesignertaskmenuextension.html)));
  9. initialized = true;
  10. }

该QExtensionManager不打算直接实例化。你可以检索界面Qt Designer使用的扩展管理器QDesignerFormEditorInterface.extensionManager()函数。一个指向Qt Designer目前的QDesignerFormEditorInterface对象(formEditor在上面的例子)是由提供QDesignerCustomWidgetInterface.initialize( )函数的参数。当实现一个自定义的widget插件,你必须在子类QDesignerCustomWidgetInterface暴露你的插件Qt Designer

然后,当一个扩展是必需的,Qt Designer的扩展管理器将通过其所有已注册的工厂运行要求QExtensionFactory.createExtension( )对每一直到第一个能够创建请求的扩展选定对象,被发现。这家工厂将使这个扩展的实例。

有扩展的四个可用的类型Qt DesignerQDesignerContainerExtensionQDesignerMemberSheetExtensionQDesignerPropertySheetExtensionQDesignerTaskMenuExtensionQt Designer的行为是相同的同一个容器中,构件表,属性表或任务菜单所需的分机是否相关联。

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


Method Documentation

  1. QExtensionManager.__init__ (self, QObject parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个扩展管理器给定的parent

  1. QObject QExtensionManager.extension (self, QObject object, QString iid)

从重新实现QAbstractExtensionManager.extension( ) 。

返回由指定的扩展名iid,对于给定的object

  1. QExtensionManager.registerExtensions (self, QAbstractExtensionFactory factory, QString iid = QString())

从重新实现QAbstractExtensionManager.registerExtensions( ) 。

注册由给定指定的扩展名factory和扩展标识符iid

  1. QExtensionManager.unregisterExtensions (self, QAbstractExtensionFactory factory, QString iid = QString())

从重新实现QAbstractExtensionManager.unregisterExtensions( ) 。

注销由给定指定的扩展名factory和扩展标识符iid