- class QDesignerCustomWidgetCollectionInterface#
QDesignerCustomWidgetCollectionInterface
类允许你在单个库中包含多个自定义小部件。更多…简介#
虚方法#
def
customWidgets()
说明
本文档可能包含自动从C++转换到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译中存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式告知我们。
详细描述#
警告
本节包含自动从C++转换到Python的代码片段,可能包含错误。
在实现自定义小部件插件时,您将其作为一个单独的库来构建。如果您想将多个自定义小部件插件包含在同一个库中,您还必须派生自
QDesignerCustomWidgetCollectionInterface
.QDesignerCustomWidgetCollectionInterface
包含一个返回集合的QDesignerCustomWidgetInterface
对象列表的单个函数。例如,如果您有多个自定义小部件CustomWidgetOne
、CustomWidgetTwo
和CustomWidgetThree
,类定义可能如下所示#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()#
- 返回类型:
返回集合自定义小部件的接口列表。