QAbstractFormBuilder Class

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

头: #include <QAbstractFormBuilder>
qmake: QT += designer
继承者: QFormBuilder

公共函数

QAbstractFormBuilder ()
virtual ~QAbstractFormBuilder ()
QString errorString () const
virtual QWidget * load (QIODevice * device , QWidget * parent = Q_NULLPTR)
virtual void save (QIODevice * device , QWidget * widget )
void setWorkingDirectory (const QDir & directory )
QDir workingDirectory () const

保护类型

typedef DomPropertyHash
typedef IconPaths

保护变量

QScopedPointer<QFormBuilderExtra> d

详细描述

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 () 和 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 Qt UI Tools 模块。

另请参阅 Qt UI Tools .

成员函数文档编制

QAbstractFormBuilder:: QAbstractFormBuilder ()

Constructs a new form builder.

[虚拟] QAbstractFormBuilder:: ~QAbstractFormBuilder ()

Destroys the form builder.

QString QAbstractFormBuilder:: errorString () const

Returns a human-readable description of the last error occurred in load ().

该函数在 Qt 5.0 引入。

另请参阅 load ().

[虚拟] QWidget *QAbstractFormBuilder:: load ( QIODevice * device , QWidget * parent = Q_NULLPTR)

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

另请参阅 save () 和 errorString ().

[虚拟] void QAbstractFormBuilder:: save ( QIODevice * device , QWidget * widget )

Saves an XML representation of the given widget 到指定 device in the standard UI file format.

另请参阅 load ().

void QAbstractFormBuilder:: setWorkingDirectory (const QDir & directory )

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

另请参阅 workingDirectory ().

QDir QAbstractFormBuilder:: workingDirectory () const

Returns the current working directory of the form builder.

另请参阅 setWorkingDirectory ().