QFormLayout 表单布局

最后更新于:2022-04-02 02:12:15

[TOC] ## 概述 QFormLayout管理输入型控件和关联的标签组成的那些Form表单 QFormLayout::RowWrapPolicy枚举 |内容| 值| 描述 效果| |---|---|---| |QFormLayout::DontWrapRows |0| 输入框始终在标签旁边 这里写图片描述| |QFormLayout::WrapLongRows |1| 标签有足够的空间适应,如果最小大小比可用空间大,输入框会被换到下一行 这里写图片描述| |QFormLayout::WrapAllRows |2 |输入框始终在标签下边 这里写图片描述| ## 示例 ### Simple ``` QFormLayout *pLayout = new QFormLayout(); pLayout->addRow(QStringLiteral("用户名:"), pUserLineEdit); pLayout->addRow(QStringLiteral("密码:"), pPasswordLineEdit); pLayout->addRow(QStringLiteral("验证码:"), pVerifyLineEdit); pLayout->setSpacing(10); pLayout->setMargin(10); setLayout(pLayout); ``` 与QGridLayout比较 ``` QLabel *pUserNameLabel = new QLabel(this); QLabel *pPasswordLabel = new QLabel(this); QLabel *pVerifyLabel = new QLabel(this); pUserNameLabel->setText(QStringLiteral("用户名:")); pPasswordLabel->setText(QStringLiteral("密码:")); pVerifyLabel->setText(QStringLiteral("验证码:")); QGridLayout *pLayout = new QGridLayout(); pLayout->addWidget(pUserNameLabel, 0, 0); pLayout->addWidget(pUserLineEdit, 0, 1); pLayout->addWidget(pPasswordLabel, 1, 0); pLayout->addWidget(pPasswordLineEdit, 1, 1); pLayout->addWidget(pVerifyLabel, 2, 0); pLayout->addWidget(pVerifyLineEdit, 2, 1); pLayout->setSpacing(10); pLayout->setMargin(10); setLayout(pLayout); ```
';