21 Q_DECLARE_PRIVATE(QFormLayout)
22 Q_PROPERTY(FieldGrowthPolicy fieldGrowthPolicy READ fieldGrowthPolicy WRITE setFieldGrowthPolicy
23 RESET resetFieldGrowthPolicy)
24 Q_PROPERTY(RowWrapPolicy rowWrapPolicy READ rowWrapPolicy WRITE setRowWrapPolicy
25 RESET resetRowWrapPolicy)
26 Q_PROPERTY(Qt::Alignment labelAlignment READ labelAlignment WRITE setLabelAlignment
27 RESET resetLabelAlignment)
28 Q_PROPERTY(Qt::Alignment formAlignment READ formAlignment WRITE setFormAlignment
29 RESET resetFormAlignment)
30 Q_PROPERTY(
int horizontalSpacing READ horizontalSpacing WRITE setHorizontalSpacing)
31 Q_PROPERTY(
int verticalSpacing READ verticalSpacing WRITE setVerticalSpacing)
34 enum FieldGrowthPolicy {
39 Q_ENUM(FieldGrowthPolicy)
55 struct TakeRowResult {
56 QLayoutItem *labelItem;
57 QLayoutItem *fieldItem;
60 explicit QFormLayout(QWidget *parent =
nullptr);
63 void setFieldGrowthPolicy(FieldGrowthPolicy policy);
64 FieldGrowthPolicy fieldGrowthPolicy()
const;
65 void setRowWrapPolicy(RowWrapPolicy policy);
66 RowWrapPolicy rowWrapPolicy()
const;
67 void setLabelAlignment(Qt::Alignment alignment);
68 Qt::Alignment labelAlignment()
const;
69 void setFormAlignment(Qt::Alignment alignment);
70 Qt::Alignment formAlignment()
const;
72 void setHorizontalSpacing(
int spacing);
73 int horizontalSpacing()
const;
74 void setVerticalSpacing(
int spacing);
75 int verticalSpacing()
const;
77 int spacing()
const override;
78 void setSpacing(
int) override;
80 void addRow(QWidget *label, QWidget *field);
81 void addRow(QWidget *label, QLayout *field);
82 void addRow(
const QString &labelText, QWidget *field);
83 void addRow(
const QString &labelText, QLayout *field);
84 void addRow(QWidget *widget);
85 void addRow(QLayout *layout);
87 void insertRow(
int row, QWidget *label, QWidget *field);
88 void insertRow(
int row, QWidget *label, QLayout *field);
89 void insertRow(
int row,
const QString &labelText, QWidget *field);
90 void insertRow(
int row,
const QString &labelText, QLayout *field);
91 void insertRow(
int row, QWidget *widget);
92 void insertRow(
int row, QLayout *layout);
94 void removeRow(
int row);
95 void removeRow(QWidget *widget);
96 void removeRow(QLayout *layout);
98 TakeRowResult takeRow(
int row);
99 TakeRowResult takeRow(QWidget *widget);
100 TakeRowResult takeRow(QLayout *layout);
102 void setItem(
int row, ItemRole role, QLayoutItem *item);
103 void setWidget(
int row, ItemRole role, QWidget *widget);
104 void setLayout(
int row, ItemRole role, QLayout *layout);
106 void setRowVisible(
int row,
bool on);
107 void setRowVisible(QWidget *widget,
bool on);
108 void setRowVisible(QLayout *layout,
bool on);
110 bool isRowVisible(
int row)
const;
111 bool isRowVisible(QWidget *widget)
const;
112 bool isRowVisible(QLayout *layout)
const;
114 QLayoutItem *itemAt(
int row, ItemRole role)
const;
115 void getItemPosition(
int index,
int *rowPtr, ItemRole *rolePtr)
const;
116 void getWidgetPosition(QWidget *widget,
int *rowPtr, ItemRole *rolePtr)
const;
117 void getLayoutPosition(QLayout *layout,
int *rowPtr, ItemRole *rolePtr)
const;
118 QWidget *labelForField(QWidget *field)
const;
119 QWidget *labelForField(QLayout *field)
const;
122 void addItem(QLayoutItem *item) override;
123 QLayoutItem *itemAt(
int index)
const override;
124 QLayoutItem *takeAt(
int index) override;
126 void setGeometry(
const QRect &rect) override;
127 QSize minimumSize()
const override;
128 QSize sizeHint()
const override;
129 void invalidate() override;
131 bool hasHeightForWidth()
const override;
132 int heightForWidth(
int width)
const override;
133 Qt::Orientations expandingDirections()
const override;
134 int count()
const override;
136 int rowCount()
const;
143 void resetFieldGrowthPolicy();
144 void resetRowWrapPolicy();
145 void resetLabelAlignment();
146 void resetFormAlignment();