Archived:How to create a form using QFormLayout in Qt
Archived: This article is archived because it is not considered relevant for third-party developers creating commercial solutions today. If you think this article is still relevant, let us know by adding the template {{ReviewForRemovalFromArchive|user=~~~~|write your reason here}}.
Qt Quick should be used for all UI development on mobile devices. The approach described in this article (based on QWidget) is deprecated.
Qt Quick should be used for all UI development on mobile devices. The approach described in this article (based on QWidget) is deprecated.
This example shows how to layout a form containing a number of input widgets using QFormLayout.
Article Metadata
Tested with
Devices(s): Emulator
Compatibility
Platform(s): S60 3rd Edition, S60 5th Edition
Article
Keywords: QVBoxLayout
Created: james1980
(28 Dec 2008)
Last edited: hamishwillee
(11 Oct 2012)
Various Function
- This property holds the way in which the form's rows wrap.If you want to display each label above its associated field (instead of next to it), set this property to WrapAllRows.
formLayout->setRowWrapPolicy(QFormLayout::WrapAllRows)
- This property holds the way in which the form's fields grow.If none of the fields can grow and the form is resized, extra space is distributed according to the current form alignment as given figure below
formLayout->setFieldGrowthPolicy(QFormLayout::FieldsStayAtSizeHint);
Creator IDE V4.5
S6o Emulator
- To set the vertical spacing.
formLayout->setVerticalSpacing(50);
Code
#include <QApplication>
#include <QFormLayout>
#include <QLineEdit>
#include <QSpinBox>
#include <QString>
#include <QWidget>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QFormLayout *formLayout = new QFormLayout;
QLineEdit *nameLineEdit = new QLineEdit;
QLineEdit *emailLineEdit = new QLineEdit;
QSpinBox *ageSpinBox = new QSpinBox;
QWidget *win = new QWidget;
formLayout->addRow(("&Name:"), nameLineEdit);
formLayout->addRow(("&Email:"), emailLineEdit);
formLayout->addRow(("&Age:"), ageSpinBox);
win->setLayout(formLayout);
win->show();
return app.exec();
}



16 Sep
2009
22 Sep
2009