QT实现竖直方向的窗口布局(使用QLayout类)
2017-07-18 08:28
567 查看
在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出现错误,还未来得及弄明白
写好以后没有错误,启动运行
创建完成!
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出现错误,还未来得及弄明白
写好以后没有错误,启动运行
创建完成!
相关文章推荐
- Qt动态布局,多个窗口使用同一个widget如何实现。
- Qt动态布局,多个窗口使用同一个widget如何实现。
- qt 做界面时怎样不使用布局实现最大化
- Qt实现图像自适应窗口大小之scaled()函数使用
- Qt使用QSplitter实现分割窗口
- Qt使用QStackedWidget实现堆栈窗口
- Qt使用QStackedWidget实现堆栈窗口
- Qt使用QSplitter实现分割窗口
- Qt 使用QMovie加载gif图片实现动态等待窗口
- Qt布局管理: 分割窗口QSplitter类讲解(纯代码实现分割窗口)
- Qt5开发学习总结(四)——资源文件的使用与主窗口QMainWindow实现登录框
- Qt使用QSplitter实现分割窗口
- Qt浮动按钮的实现(使用窗口背景透明、实现只显示浮动按钮的目的)
- Qt 使用QMovie加载gif图片实现动态等待窗口
- Qt使用QStackedWidget实现堆栈窗口
- Qt使用QStackedWidget实现堆栈窗口
- qt使用布局进行窗口切换
- 使用SWT中的Control UI和GridLayout实现类似eclipse preferences 窗口的布局
- QT学习之三---定义窗口并实现简单布局
- 模拟物体(汽车)任意方向和速度移动平面动画__(使用Qt 实现)