Qt 24 布局管理器3 - QFormLayout 表单布局管理器

本文学习自 狄泰软件 唐佐林老师的 QT。


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

setRowWrapPolicy() 设置每一行怎么排布

QFormLayout::WrapAllRows 以行位单位的操作:以每一个组件为一行
QFormLayout::WrapLongRows 以行位单位的操作:以每组为一行, 一般用于小屏幕的嵌入式设备
QFormLayout::DontWrapRows  

setLabelAlignment() 设置标签对齐方式

Qt::AlignRight 标签右对齐

在这里插入图片描述

Widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QtGui/QWidget>

class Widget : public QWidget
{
    Q_OBJECT
    
public:
    Widget(QWidget *parent = 0);
    ~Widget();
};

#endif // WIDGET_H

Widget.cpp

#include "Widget.h"
#include <QLineEdit>
#include <QFormLayout>

//WindowCloseButtonHint :窗口关闭按钮
/*
如果构造函数 不显示调用功能QWidget(parent, Qt::WindowCloseButtonHint)的话,则会出现标准的 最小化 最大化 关闭 三个按钮
如果显示调用 QWidget(parent, Qt::WindowCloseButtonHint)的话,只有关闭按钮
*/
Widget::Widget(QWidget *parent) //: QWidget(parent, Qt::WindowCloseButtonHint)
{
    //创建文本输入框
    QLineEdit* nameEdit = new QLineEdit();
    QLineEdit* mailEdit = new QLineEdit();
    QLineEdit* addrEdit = new QLineEdit();

    //创建 表单布局管理器  对象
    QFormLayout* layout = new QFormLayout();

    //向布局管理器添加 文本输入框,并指定标签
    layout->addRow("Name:", nameEdit);
    layout->addRow("Email:", mailEdit);
    layout->addRow("Address:", addrEdit);

    /*样式 QFormLayout::WrapAllRows 以行位单位的操作:以每一个组件为一行
      Name:
      QLineEdit文本输入框
      Email:
      QLineEdit文本输入框
      ...
    */
    //layout->setRowWrapPolicy(QFormLayout::WrapAllRows);

    /*样式 QFormLayout::WrapLongRows 以行位单位的操作:以每组为一行
      Name:QLineEdit文本输入框
      Email:QLineEdit文本输入框
      ...
    */
    layout->setRowWrapPolicy(QFormLayout::WrapLongRows);

    //标签右对齐
    layout->setLabelAlignment(Qt::AlignRight);

    layout->setSpacing(10);

    setLayout(layout);//布局管理器生效
    setWindowTitle("FTP");//设置窗口标题

}

Widget::~Widget()
{
    
}

main.cpp

#include <QtGui/QApplication>
#include "Widget.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();
    
    return a.exec();
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Linux老A

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值