QT学习之三---定义窗口并实现简单布局

本文介绍了如何在QT中定义窗口,并通过QVBoxLayout实现简单的布局管理。首先展示了自定义窗口类MyWin的定义,包括QLineEdit、QPushButton和QPlainTextEdit组件的创建与定位。接着,通过QVBoxLayout,将QLineEdit和QPlainTextEdit添加到布局中,完成窗口的布局设置。在main函数中,调整窗口大小并设置显示位置。


1.定义窗口

下面自己来定义窗口:

.h文件

#ifndef MYWIN_H
#define MYWIN_H

#include <QWidget>
#include <QPushButton>
#include <QLineEdit>
#include <QPlainTextEdit>
class MyWin : public QWidget
{
Q_OBJECT//宏

public:
MyWin(QWidget *parent);
~MyWin();


private:
QPushButton *m_button;
QLineEdit *m_lineEdit;
QPlainTextEdit *m_textEdit;

};
#endif // MYWIN_H

.cpp文件:

#include "MyWin.h"


MyWin::MyWin(QWidget *parent)
: QWidget(parent)
{
m_lineEdit=new QLineEdit(this);//定义
m_lineEdit->setGeometry(0,0,300,50);
m_button=new QPushButton(this);
m_button->setText("Hello,qt");
m_button->setGeometry(310,0,90,50);

m_textEdit=new QPlainTextEdit(this);
m_textEdit->setGeometry(0,60,400,240);

}

MyWin::~MyWin()
{


}

main.cpp中:

MyWin w(NULL);

w.setGeometry(100,100,400,300);

w.show();

2.简单布局

利用QVBoxLayout布局器实现简单布局。

.h文件:

#ifndef MYWIN_H
#define MYWIN_H
#include <QWidget>
#include <QLineEdit>
#include <QPlainTextEdit>
#include <QVBoxLayout>
class MyWin : public QWidget
{
Q_OBJECT

public:
MyWin(QWidget *parent);
~MyWin();

private:
QLineEdit *m_lineEdit;
QPlainTextEdit *m_lineText;
};

#endif // MYWIN_H

.cpp文件

m_lineEdit=new QLineEdit(this);

m_lineText=new QPlainText(this);

QVBoxLayout *layout=new QVBoxLayout(this);

layout->addWidget(m_lineEdit);//添加控件

layout->addWidget(m_lineText);//添加控件

this->setLayout(layout);//添加布局器

主函数中调用:

MyWin w(NULL);
w.resize(400,300);//设置大小
w.move(100,100);//指定位置
w.show();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值