QT实现竖直方向的窗口布局(使用QLayout类)

在QT中使用布局器QLayout进行布局

1.它会为我们自动的计算各个控件的大小和位置;

2.当父窗口调整时,它会根据既定策略Policy来调整各个子窗口的大小和位置。

常用的两个QLayout类属于QBoxLayout中分别为QHLayout和QVlayout类

举个例子:创建两个叠加的纵向的窗体

首先在MyWin.h里写入

 

#include <QWidget>
#include <QVBoxLayout>
#include <QLineEdit>
#include <QPlainTextEdit>

class MyWin : public QWidget
{
	Q_OBJECT
public:
	MyWin(QWidget *parent);
	~MyWin();
private:
	QLineEdit* m_lineEdit;
	QPlainTextEdit* m_textEdit;

};

然后在MyWin.cpp中写入

 

 

#include <MyWin.h>
MyWin::MyWin(QWidget *parent)
	:QWidget(parent)
{
	m_lineEdit = new QLineEdit(this);
	m_textEdit = new QPlainTextEdit(this);

	QVBoxLayout* layout = new QVBoxLayout(this);
	layout->addWidget(m_lineEdit);
	layout->addWidget(m_textEdit);

	this->setLayout(layout);
}

MyWin::~MyWin()
{

}

最后在main.cpp中

 

 

//main.cpp
#include <QtWidgets/QApplication>
#include "MyWin.h"
int main(int argc, char *argv[])
{
	QApplication a(argc, argv);

		MyWin w(NULL);
	w.resize(400, 300);
	w.move(100, 100);
	w.show();
	return a.exec();
}


MyWin可以通过新建QT项目右键添加类来实现

 



类名为MyWin,基类为QWidget访问选择default默认,因为我选择private型的时候定义public出现错误,还未来得及弄明白

写好以后没有错误,启动运行

创建完成!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值