Qt控件布局(七)

重点:使用layout控件布局,layout有三种vboxlayout,hboxlayout,gridlayout。

在layout使用过程中,我们经常用到了弹簧控件。

头文件:

#ifndef MYWIDGET_H

#define MYWIDGET_H

#include <QWidget>

class Mywidget : public QWidget
{
    Q_OBJECT
public:
    explicit Mywidget(QWidget *parent = 0);

signals:

public slots:

};

#endif // MYWIDGET_H

主文件:

#include "mywidget.h"

#include <QApplication>
#include <QLineEdit>
#include <QHBoxLayout>//水平方向
#include <QVBoxLayout>//竖直方向
#include <QGridLayout>
Mywidget::Mywidget(QWidget *parent) :
    QWidget(parent)
{
    QLineEdit *edit1 = new QLineEdit();
    QLineEdit *edit2 = new QLineEdit();
    QLineEdit *edit3 = new QLineEdit();
    QGridLayout *layout = new QGridLayout();
    setLayout(layout);
    layout->addWidget(edit1,0,0);
    layout->addWidget(edit2,0,1);
    layout->addWidget(edit3,0,2);

    //在右边和下边添加弹簧
    layout->setColumnStretch(3,1);
    layout->setRowStretch(1,1);

#if 0
QVBoxLayoutvlayoutQVBoxLayout
QHBoxLayoutlayoutQHBoxLayout
setLayoutvlayout

vlayoutaddLayoutlayout
vlayoutaddStretch



QLineEditedit1QLineEdit
QLineEditedit2QLineEdit
QLineEditedit3QLineEdit
layoutaddWidgetedit1
layoutaddWidgetedit2
layoutaddWidgetedit3
layoutaddStretch
#endif
}

int main(int argc,char * argv[])
{
    QApplication app(argc,argv);
    Mywidget w;
    w.show();
    return app.exec();
}


你可能感兴趣的:(Qt控件布局(七))