9memberSheet = qt_extension<QDesignerMemberSheetExtension*>(manager, widget);
10int index = memberSheet->indexOf(setEchoMode);
11memberSheet->setVisible(index,
false);
18class MyMemberSheetExtension :
public QObject,
19 public QDesignerMemberSheetExtension
22 Q_INTERFACES(QDesignerMemberSheetExtension)
31QObject *ANewExtensionFactory::createExtension(QObject *object,
32 const QString &iid, QObject *parent)
const
34 if (iid != Q_TYPEID(QDesignerMemberSheetExtension))
37 if (MyCustomWidget *widget = qobject_cast<MyCustomWidget*>
39 return new MyMemberSheetExtension(widget, parent);
47QObject *AGeneralExtensionFactory::createExtension(QObject *object,
48 const QString &iid, QObject *parent)
const
50 MyCustomWidget *widget = qobject_cast<MyCustomWidget*>(object);
52 if (widget && (iid == Q_TYPEID(QDesignerTaskMenuExtension))) {
53 return new MyTaskMenuExtension(widget, parent);
55 }
else if (widget && (iid == Q_TYPEID(QDesignerMemberSheetExtension))) {
56 return new MyMemberSheetExtension(widget, parent);
70 Q_INTERFACES(QDesignerContainerExtension)
84 MyCustomWidget *myWidget;
90QObject *ANewExtensionFactory::createExtension(QObject *object,
91 const QString &iid, QObject *parent)
const
93 if (iid != Q_TYPEID(QDesignerContainerExtension))
96 if (MyCustomWidget *widget = qobject_cast<MyCustomWidget*>
98 return new MyContainerExtension(widget, parent);
106QObject *AGeneralExtensionFactory::createExtension(QObject *object,
107 const QString &iid, QObject *parent)
const
109 MyCustomWidget *widget = qobject_cast<MyCustomWidget*>(object);
111 if (widget && (iid == Q_TYPEID(QDesignerTaskMenuExtension))) {
112 return new MyTaskMenuExtension(widget, parent);
114 }
else if (widget && (iid == Q_TYPEID(QDesignerContainerExtension))) {
115 return new MyContainerExtension(widget, parent);
129 Q_INTERFACES(QDesignerTaskMenuExtension)
141 MyCustomWidget *widget;
148QObject *ANewExtensionFactory::createExtension(QObject *object,
149 const QString &iid, QObject *parent)
const
151 if (iid != Q_TYPEID(QDesignerTaskMenuExtension))
154 if (MyCustomWidget *widget = qobject_cast<MyCustomWidget*>(object))
155 return new MyTaskMenuExtension(widget, parent);
163QObject *AGeneralExtensionFactory::createExtension(QObject *object,
164 const QString &iid, QObject *parent)
const
166 MyCustomWidget *widget = qobject_cast<MyCustomWidget*>(object);
168 if (widget && (iid == Q_TYPEID(QDesignerContainerExtension))) {
169 return new MyContainerExtension(widget, parent);
171 }
else if (widget && (iid == Q_TYPEID(QDesignerTaskMenuExtension))) {
172 return new MyTaskMenuExtension(widget, parent);
182#include customwidgetoneinterface.h
183#include customwidgettwointerface.h
184#include customwidgetthreeinterface.h
186#include <QtDesigner/qtdesigner.h>
187#include <QtCore/qplugin.h>
192 Q_PLUGIN_METADATA(IID
"org.qt-project.Qt.QDesignerCustomWidgetCollectionInterface")
201 QList<QDesignerCustomWidgetInterface*> widgets;
210 widgets.append(
new CustomWidgetOneInterface(
this));
211 widgets.append(
new CustomWidgetTwoInterface(
this));
212 widgets.append(
new CustomWidgetThreeInterface(
this));
223Q_PLUGIN_METADATA(IID
"org.qt-project.Qt.QDesignerCustomWidgetInterface")
228QDesignerPropertySheetExtension *propertySheet =
nullptr;
231propertySheet = qt_extension<QDesignerPropertySheetExtension*>(manager, widget);
232int index = propertySheet->indexOf(u"margin"_s);
234propertySheet->setProperty(index, 10);
235propertySheet->setChanged(index,
true);
242class MyPropertySheetExtension :
public QObject,
243 public QDesignerPropertySheetExtension
246 Q_INTERFACES(QDesignerPropertySheetExtension)
255QObject *ANewExtensionFactory::createExtension(QObject *object,
256 const QString &iid, QObject *parent)
const
258 if (iid != Q_TYPEID(QDesignerPropertySheetExtension))
261 if (MyCustomWidget *widget = qobject_cast<MyCustomWidget*>
263 return new MyPropertySheetExtension(widget, parent);
271QObject *AGeneralExtensionFactory::createExtension(QObject *object,
272 const QString &iid, QObject *parent)
const
274 MyCustomWidget *widget = qobject_cast<MyCustomWidget*>(object);
276 if (widget && (iid == Q_TYPEID(QDesignerTaskMenuExtension))) {
277 return new MyTaskMenuExtension(widget, parent);
279 }
else if (widget && (iid == Q_TYPEID(QDesignerPropertySheetExtension))) {
280 return new MyPropertySheetExtension(widget, parent);
void setCurrentIndex(int index)
QWidget * widget(int index) const
void addWidget(QWidget *widget)
void insertWidget(int index, QWidget *widget)
QDesignerMemberSheetExtension * memberSheet
[2]
QNetworkAccessManager manager
[0]