|  | Home · All Classes · Modules

# QAbstractFormBuilder Class Reference
[QtDesigner module]

The QAbstractFormBuilder class provides a default implementation for classes that create user interfaces at run-time. More...

Inherited by QFormBuilder.

### Methods

- __init__ (self)
- bool isScriptingEnabled (self)
- QWidget load (self, QIODevice dev, QWidget parentWidget = None)
- save (self, QIODevice dev, QWidget widget)
- setWorkingDirectory (self, QDir directory)
- QDir workingDirectory (self)

## Detailed Description

The QAbstractFormBuilder class provides a default implementation for classes that create user interfaces at run-time.

QAbstractFormBuilder provides a standard interface and a default implementation for constructing forms from user interface files. It is not intended to be instantiated directly. Use the QFormBuilder class to create user interfaces from `.ui` files at run-time. For example:

             MyForm.MyForm(QWidget *parent)
                 : QWidget(parent)
             {
                 QFormBuilder builder;
                 QFile file(":/forms/myWidget.ui");
                 file.open(QFile.ReadOnly);
                 QWidget *myWidget = builder.load(&file, this);
                 file.close();

                 QVBoxLayout *layout = new QVBoxLayout;
                 layout->addWidget(myWidget);
                 setLayout(layout);
             }

To override certain aspects of the form builder's behavior, subclass QAbstractFormBuilder and reimplement the relevant virtual functions:

- load() handles reading of `.ui` format files from arbitrary QIODevices, and construction of widgets from the XML data that they contain.
- save() handles saving of widget details in `.ui` format to arbitrary QIODevices.
- workingDirectory() and setWorkingDirectory() control the directory in which forms are held. The form builder looks for other resources on paths relative to this directory.

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

See also QtUiTools Module.

## Method Documentation

### QAbstractFormBuilder.__init__ (self)

Constructs a new form builder.

### bool QAbstractFormBuilder.isScriptingEnabled (self)

### QWidget QAbstractFormBuilder.load (self, QIODevice dev, QWidget parentWidget = None)

The parentWidget argument, if not None, causes self to be owned by Qt instead of PyQt.

Loads an XML representation of a widget from the given device, and constructs a new widget with the specified parent.

See also save().

### QAbstractFormBuilder.save (self, QIODevice dev, QWidget widget)

Saves an XML representation of the given widget to the specified device in the standard `.ui` file format.

See also load().

### QAbstractFormBuilder.setWorkingDirectory (self, QDir directory)

Sets the current working directory of the form builder to the specified directory.

See also workingDirectory().

### QDir QAbstractFormBuilder.workingDirectory (self)

Returns the current working directory of the form builder.

See also setWorkingDirectory().