您的位置:首页 > 编程语言 > Qt开发

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

2016-05-17 19:02 656 查看
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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: