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

QExtensionManager Class Reference
[QtDesigner module]

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

继承QObjectQAbstractExtensionManager

Methods


Detailed Description

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

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

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

         void MyPlugin.initialize(QDesignerFormEditorInterface *formEditor)
         {
             if (initialized)
                 return;

             QExtensionManager *manager = formEditor->extensionManager();
             Q_ASSERT(manager != 0);

             manager->registerExtensions(new MyExtensionFactory(manager),
                                         Q_TYPEID(QDesignerTaskMenuExtension));

             initialized = true;
         }

该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

QExtensionManager.__init__ (self, QObject parent = None)

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

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

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

从重新实现QAbstractExtensionManager.extension( ) 。

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

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

从重新实现QAbstractExtensionManager.registerExtensions( ) 。

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

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

从重新实现QAbstractExtensionManager.unregisterExtensions( ) 。

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




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