Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QFormBuilder Class Reference

The QFormBuilder class is used to dynamically construct user interfaces from UI files at run-time. More...

#include <formbuilder.h>

+ Inheritance diagram for QFormBuilder:
+ Collaboration diagram for QFormBuilder:

Public Member Functions

 QFormBuilder ()
 Constructs a new form builder.
 
 ~QFormBuilder () override
 Destroys the form builder.
 
QStringList pluginPaths () const
 Returns the list of paths the form builder searches for plugins.
 
void clearPluginPaths ()
 Clears the list of paths that the form builder uses to search for custom widget plugins.
 
void addPluginPath (const QString &pluginPath)
 Adds a new plugin path specified by pluginPath to the list of paths that will be searched by the form builder when loading a custom widget plugin.
 
void setPluginPath (const QStringList &pluginPaths)
 Sets the list of plugin paths to the list specified by pluginPaths.
 
QList< QDesignerCustomWidgetInterface * > customWidgets () const
 Returns a list of the available plugins.
 
- Public Member Functions inherited from QAbstractFormBuilder
 QAbstractFormBuilder ()
 Constructs a new form builder.
 
virtual ~QAbstractFormBuilder ()
 Destroys the form builder.
 
QDir workingDirectory () const
 Returns the current working directory of the form builder.
 
void setWorkingDirectory (const QDir &directory)
 Sets the current working directory of the form builder to the specified directory.
 
virtual QWidgetload (QIODevice *dev, QWidget *parentWidget=nullptr)
 Loads an XML representation of a widget from the given device, and constructs a new widget with the specified parent.
 
virtual void save (QIODevice *dev, QWidget *widget)
 Saves an XML representation of the given widget to the specified device in the standard UI file format.
 
QString errorString () const
 Returns a human-readable description of the last error occurred in load().
 

Protected Member Functions

QWidgetcreate (DomUI *ui, QWidget *parentWidget) override
 
QWidgetcreate (DomWidget *ui_widget, QWidget *parentWidget) override
 
QLayoutcreate (DomLayout *ui_layout, QLayout *layout, QWidget *parentWidget) override
 
QLayoutItemcreate (DomLayoutItem *ui_layoutItem, QLayout *layout, QWidget *parentWidget) override
 
QActioncreate (DomAction *ui_action, QObject *parent) override
 
QActionGroupcreate (DomActionGroup *ui_action_group, QObject *parent) override
 
QWidgetcreateWidget (const QString &widgetName, QWidget *parentWidget, const QString &name) override
 
QLayoutcreateLayout (const QString &layoutName, QObject *parent, const QString &name) override
 
void createConnections (DomConnections *connections, QWidget *widget) override
 
bool addItem (DomLayoutItem *ui_item, QLayoutItem *item, QLayout *layout) override
 
bool addItem (DomWidget *ui_widget, QWidget *widget, QWidget *parentWidget) override
 
virtual void updateCustomWidgets ()
 
void applyProperties (QObject *o, const QList< DomProperty * > &properties) override
 
- Protected Member Functions inherited from QAbstractFormBuilder
virtual void loadExtraInfo (DomWidget *ui_widget, QWidget *widget, QWidget *parentWidget)
 
virtual void addMenuAction (QAction *action)
 
bool applyPropertyInternally (QObject *o, const QString &propertyName, const QVariant &value)
 
virtual void applyTabStops (QWidget *widget, DomTabStops *tabStops)
 
virtual QActioncreateAction (QObject *parent, const QString &name)
 
virtual QActionGroupcreateActionGroup (QObject *parent, const QString &name)
 
virtual void createCustomWidgets (DomCustomWidgets *)
 
virtual void createResources (DomResources *)
 
virtual void saveExtraInfo (QWidget *widget, DomWidget *ui_widget, DomWidget *ui_parentWidget)
 
virtual void saveDom (DomUI *ui, QWidget *widget)
 
virtual DomActionRefcreateActionRefDom (QAction *action)
 
virtual DomWidgetcreateDom (QWidget *widget, DomWidget *ui_parentWidget, bool recursive=true)
 
virtual DomLayoutcreateDom (QLayout *layout, DomLayout *ui_layout, DomWidget *ui_parentWidget)
 
virtual DomLayoutItemcreateDom (QLayoutItem *item, DomLayout *ui_parentLayout, DomWidget *ui_parentWidget)
 
virtual DomSpacercreateDom (QSpacerItem *spacer, DomLayout *ui_parentLayout, DomWidget *ui_parentWidget)
 
virtual DomActioncreateDom (QAction *action)
 
virtual DomActionGroupcreateDom (QActionGroup *actionGroup)
 
DomButtonGroupcreateDom (QButtonGroup *buttonGroup)
 
virtual DomConnectionssaveConnections ()
 
virtual DomCustomWidgetssaveCustomWidgets ()
 
virtual DomTabStopssaveTabStops ()
 
virtual DomResourcessaveResources ()
 
DomButtonGroupssaveButtonGroups (const QWidget *mainContainer)
 
virtual QList< DomProperty * > computeProperties (QObject *obj)
 
virtual bool checkProperty (QObject *obj, const QString &prop) const
 
virtual DomPropertycreateProperty (QObject *object, const QString &propertyName, const QVariant &value)
 
virtual void layoutInfo (DomLayout *layout, QObject *parent, int *margin, int *spacing)
 
void loadListWidgetExtraInfo (DomWidget *ui_widget, QListWidget *listWidget, QWidget *parentWidget)
 
void loadTreeWidgetExtraInfo (DomWidget *ui_widget, QTreeWidget *treeWidget, QWidget *parentWidget)
 
void loadTableWidgetExtraInfo (DomWidget *ui_widget, QTableWidget *tableWidget, QWidget *parentWidget)
 
void loadComboBoxExtraInfo (DomWidget *ui_widget, QComboBox *comboBox, QWidget *parentWidget)
 
void loadButtonExtraInfo (const DomWidget *ui_widget, QAbstractButton *button, QWidget *parentWidget)
 
void loadItemViewExtraInfo (DomWidget *ui_widget, QAbstractItemView *itemView, QWidget *parentWidget)
 
void saveListWidgetExtraInfo (QListWidget *widget, DomWidget *ui_widget, DomWidget *ui_parentWidget)
 
void saveTreeWidgetExtraInfo (QTreeWidget *treeWidget, DomWidget *ui_widget, DomWidget *ui_parentWidget)
 
void saveTableWidgetExtraInfo (QTableWidget *tablWidget, DomWidget *ui_widget, DomWidget *ui_parentWidget)
 
void saveComboBoxExtraInfo (QComboBox *widget, DomWidget *ui_widget, DomWidget *ui_parentWidget)
 
void saveButtonExtraInfo (const QAbstractButton *widget, DomWidget *ui_widget, DomWidget *ui_parentWidget)
 
void saveItemViewExtraInfo (const QAbstractItemView *itemView, DomWidget *ui_widget, DomWidget *ui_parentWidget)
 
void setResourceBuilder (QResourceBuilder *builder)
 
QResourceBuilderresourceBuilder () const
 
DomPropertysaveResource (const QVariant &v) const
 
void setTextBuilder (QTextBuilder *builder)
 
QTextBuildertextBuilder () const
 
DomPropertysaveText (const QString &attributeName, const QVariant &v) const
 
QVariant toVariant (const QMetaObject *meta, DomProperty *property)
 
void setupColorGroup (QPalette &palette, QPalette::ColorGroup colorGroup, DomColorGroup *group)
 
DomColorGroupsaveColorGroup (const QPalette &palette)
 
QBrush setupBrush (DomBrush *brush)
 
DomBrushsaveBrush (const QBrush &brush)
 
void reset ()
 
void initialize (const DomUI *ui)
 
void setIconProperty (DomProperty &, const IconPaths &) const
 
void setPixmapProperty (DomProperty &, const IconPaths &) const
 

Static Protected Member Functions

static QWidgetwidgetByName (QWidget *topLevel, const QString &name)
 
- Static Protected Member Functions inherited from QAbstractFormBuilder
static QString toString (const DomString *str)
 
static DomPropertyHash propertyMap (const QList< DomProperty * > &properties)
 
static QMetaEnum toolBarAreaMetaEnum ()
 
static const DomResourcePixmapdomPixmap (const DomProperty *p)
 

Additional Inherited Members

- Protected Types inherited from QAbstractFormBuilder
using DomPropertyHash = QHash<QString, DomProperty*>
 
using IconPaths = std::pair<QString, QString>
 
- Protected Attributes inherited from QAbstractFormBuilder
QScopedPointer< QFormBuilderExtrad
 

Detailed Description

The QFormBuilder class is used to dynamically construct user interfaces from UI files at run-time.

\inmodule QtDesigner

The QFormBuilder class provides a mechanism for dynamically creating user interfaces at run-time, based on UI files created with \QD. For example:

By including the user interface in the example's resources (myForm.qrc), we ensure that it will be present when the example is run:

QFormBuilder extends the QAbstractFormBuilder base class with a number of functions that are used to support custom widget plugins:

\list

  • pluginPaths() returns the list of paths that the form builder searches when loading custom widget plugins.
  • addPluginPath() allows additional paths to be registered with the form builder.
  • setPluginPath() is used to replace the existing list of paths with a list obtained from some other source.
  • clearPluginPaths() removes all paths registered with the form builder.
  • customWidgets() returns a list of interfaces to plugins that can be used to create new instances of registered custom widgets. \endlist

The QFormBuilder class is typically used by custom components and applications that embed \QD. Standalone applications that need to dynamically generate user interfaces at run-time use the QUiLoader class, found in the QtUiTools module.

See also
QAbstractFormBuilder, {Qt UI Tools}

Definition at line 24 of file formbuilder.h.

Constructor & Destructor Documentation

◆ QFormBuilder()

QFormBuilder::QFormBuilder ( )
default

Constructs a new form builder.

◆ ~QFormBuilder()

QFormBuilder::~QFormBuilder ( )
overridedefault

Destroys the form builder.

Member Function Documentation

◆ addItem() [1/2]

bool QFormBuilder::addItem ( DomLayoutItem * ui_item,
QLayoutItem * item,
QLayout * layout )
overrideprotectedvirtual

Reimplemented from QAbstractFormBuilder.

Definition at line 244 of file formbuilder.cpp.

◆ addItem() [2/2]

bool QFormBuilder::addItem ( DomWidget * ui_widget,
QWidget * widget,
QWidget * parentWidget )
overrideprotectedvirtual

Reimplemented from QAbstractFormBuilder.

Definition at line 252 of file formbuilder.cpp.

◆ addPluginPath()

void QFormBuilder::addPluginPath ( const QString & pluginPath)

Adds a new plugin path specified by pluginPath to the list of paths that will be searched by the form builder when loading a custom widget plugin.

See also
setPluginPath(), clearPluginPaths()

Definition at line 383 of file formbuilder.cpp.

◆ applyProperties()

void QFormBuilder::applyProperties ( QObject * o,
const QList< DomProperty * > & properties )
overrideprotectedvirtual

Reimplemented from QAbstractFormBuilder.

Definition at line 458 of file formbuilder.cpp.

◆ clearPluginPaths()

void QFormBuilder::clearPluginPaths ( )

Clears the list of paths that the form builder uses to search for custom widget plugins.

See also
pluginPaths()

Definition at line 370 of file formbuilder.cpp.

◆ create() [1/6]

QAction * QFormBuilder::create ( DomAction * ui_action,
QObject * parent )
overrideprotectedvirtual

Reimplemented from QAbstractFormBuilder.

Definition at line 341 of file formbuilder.cpp.

◆ create() [2/6]

QActionGroup * QFormBuilder::create ( DomActionGroup * ui_action_group,
QObject * parent )
overrideprotectedvirtual

Reimplemented from QAbstractFormBuilder.

Definition at line 349 of file formbuilder.cpp.

◆ create() [3/6]

QLayout * QFormBuilder::create ( DomLayout * ui_layout,
QLayout * layout,
QWidget * parentWidget )
overrideprotectedvirtual

Reimplemented from QAbstractFormBuilder.

Definition at line 314 of file formbuilder.cpp.

◆ create() [4/6]

QLayoutItem * QFormBuilder::create ( DomLayoutItem * ui_layoutItem,
QLayout * layout,
QWidget * parentWidget )
overrideprotectedvirtual

Reimplemented from QAbstractFormBuilder.

Definition at line 333 of file formbuilder.cpp.

◆ create() [5/6]

QWidget * QFormBuilder::create ( DomUI * ui,
QWidget * parentWidget )
overrideprotectedvirtual

Reimplemented from QAbstractFormBuilder.

Definition at line 306 of file formbuilder.cpp.

◆ create() [6/6]

QWidget * QFormBuilder::create ( DomWidget * ui_widget,
QWidget * parentWidget )
overrideprotectedvirtual

Reimplemented from QAbstractFormBuilder.

Reimplemented in qdesigner_internal::WidgetBoxResource, and qdesigner_internal::WidgetBoxResource.

Definition at line 84 of file formbuilder.cpp.

◆ createConnections()

void QFormBuilder::createConnections ( DomConnections * ui_connections,
QWidget * widget )
overrideprotectedvirtual

Reimplemented from QAbstractFormBuilder.

Definition at line 281 of file formbuilder.cpp.

◆ createLayout()

QLayout * QFormBuilder::createLayout ( const QString & layoutName,
QObject * parent,
const QString & name )
overrideprotectedvirtual

Reimplemented from QAbstractFormBuilder.

Definition at line 206 of file formbuilder.cpp.

◆ createWidget()

QWidget * QFormBuilder::createWidget ( const QString & widgetName,
QWidget * parentWidget,
const QString & name )
overrideprotectedvirtual

Reimplemented from QAbstractFormBuilder.

Reimplemented in qdesigner_internal::WidgetBoxResource, and qdesigner_internal::WidgetBoxResource.

Definition at line 126 of file formbuilder.cpp.

◆ customWidgets()

QList< QDesignerCustomWidgetInterface * > QFormBuilder::customWidgets ( ) const

Returns a list of the available plugins.

Definition at line 449 of file formbuilder.cpp.

◆ pluginPaths()

QStringList QFormBuilder::pluginPaths ( ) const

Returns the list of paths the form builder searches for plugins.

See also
addPluginPath()

Definition at line 359 of file formbuilder.cpp.

◆ setPluginPath()

void QFormBuilder::setPluginPath ( const QStringList & pluginPaths)

Sets the list of plugin paths to the list specified by pluginPaths.

See also
addPluginPath()

Definition at line 394 of file formbuilder.cpp.

◆ updateCustomWidgets()

void QFormBuilder::updateCustomWidgets ( )
protectedvirtual

Definition at line 418 of file formbuilder.cpp.

◆ widgetByName()

QWidget * QFormBuilder::widgetByName ( QWidget * topLevel,
const QString & name )
staticprotected

Definition at line 260 of file formbuilder.cpp.


The documentation for this class was generated from the following files: