Namespaces
Variants
Actions

Archived:How to create a form using QFormLayout in Qt

Jump to: navigation, search
Archived.png
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.

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)

Wrappolocy.JPG

  • 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

Fieldgrowth.JPG

S6o Emulator

Fieldgrowth1.JPG

  • To set the vertical spacing.
formLayout->setVerticalSpacing(50);

Spacing.JPG


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();
}

Screen Shot

Formlayout.jpg

This page was last modified on 11 October 2012, at 04:14.
161 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved