QT 第24课 布局管理器(三)

狄泰软件学院课程总结

文章目录

文章引用: 1

写出界面解决方法
(1)、绝对定位组件的坐标和大小
(2)、嵌套QBoxLayout
(3)、创建3x2的QGridLayout
出现问题: 放大后,文字后面有大量空白,不够美观
表单: 左边是标签,右边是组件

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 <QLabel>
#include <QLineEdit>
#include <QGridLayout>
#include <QFormLayout>

Widget::Widget(QWidget *parent)
    : QWidget(parent, Qt::WindowCloseButtonHint)  // 实现的窗口上只有一个关闭按钮
{


    QLineEdit*  NameEdit = new QLineEdit();
    QLineEdit*  EmailEdit = new QLineEdit();
    QLineEdit*  AddressEdit = new QLineEdit();

    QFormLayout* layout = new QFormLayout();

    layout->addRow("Name:", NameEdit);    // 通过字符串可以指定标签,而不用生成一个标签组件
    layout->addRow("Email: ", EmailEdit);
    layout->addRow("Address: ", AddressEdit);



    layout->setRowWrapPolicy(QFormLayout::WrapAllRows);//设置样式(嵌入式常用方式)
    layout->setLabelAlignment(Qt::AlignRight);         //标签左右对齐


    layout->setSpacing(10);

    setLayout(layout);
    setWindowTitle("Md");

}

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

上一篇:注解


下一篇:《Qt开发及实例》--20.11.21