class QDesignerCustomWidgetCollectionInterface#

QDesignerCustomWidgetCollectionInterface 类允许你在单个库中包含多个自定义小部件。更多

简介#

虚方法#

说明

本文档可能包含自动从C++转换到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译中存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式告知我们。

详细描述#

警告

本节包含自动从C++转换到Python的代码片段,可能包含错误。

在实现自定义小部件插件时,您将其作为一个单独的库来构建。如果您想将多个自定义小部件插件包含在同一个库中,您还必须派生自QDesignerCustomWidgetCollectionInterface .

QDesignerCustomWidgetCollectionInterface 包含一个返回集合的 QDesignerCustomWidgetInterface 对象列表的单个函数。例如,如果您有多个自定义小部件 CustomWidgetOneCustomWidgetTwoCustomWidgetThree,类定义可能如下所示

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


class MyCustomWidgets(QObject, QDesignerCustomWidgetCollectionInterface):

    Q_OBJECT
    Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDesignerCustomWidgetCollectionInterface")
    Q_INTERFACES(QDesignerCustomWidgetCollectionInterface)
# public
    MyCustomWidgets(QObject parent = 0)
    QList<QDesignerCustomWidgetInterface*> customWidgets() override
# private
widgets = QList()

在类构造函数中,您将小部件接口添加到列表中,该列表用于返回 customWidgets() 函数

def __init__(self, parent):
    super().__init__(parent)

    widgets.append(CustomWidgetOneInterface(self))
    widgets.append(CustomWidgetTwoInterface(self))
    widgets.append(CustomWidgetThreeInterface(self))

QList<QDesignerCustomWidgetInterface*> MyCustomWidgets.customWidgets()

    return widgets

注意,与使用 Q_PLUGIN_METADATA() 宏导出每个自定义小部件插件不同,您导出整个集合。Q_PLUGIN_METADATA() 宏确保 Qt Designer 可以访问并构建自定义小部件。没有这个宏,Qt Designer 没有其他方法可以使用它们。

另请参阅

QDesignerCustomWidgetInterface 为 Qt Designer 创建自定义小部件

抽象 customWidgets()#
返回类型:

. QDesignerCustomWidgetInterface 列表

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