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