窗口的布局

来源:互联网 发布:java加密算法有哪些 编辑:程序博客网 时间:2024/05/16 07:22

布局,Layout,就是把各个控件放在合适的位置,占据适当大小的空间。
在Qt中,使用布局器QLayout进行布局;

两个常用的QLayout子类:QHBoxLayout: 横向布局;QVBoxLayout: 纵向布局;在纵向布局中,每个Box的宽度信息被忽略,只关心它的高度。

目标:生成如下格式的布局,利用QVBoxLayout;

这里写图片描述

具体代码:

//mywin.h#ifndef MYWIN_H#define MYWIN_H#include <QWidget>#include "ui_mywin.h"#include <QVBoxLayout>#include<QLineEdit>#include<QTextEdit>#include<QPushButton>class Mywin : public QWidget{    Q_OBJECTpublic:    Mywin(QWidget *parent = 0);    ~Mywin();private:    QLineEdit* m_lineEdit;    QTextEdit* m_textEdit;    QVBoxLayout* layout;    QPushButton* m_pushButton;};#endif // MYWIN_H
//mywin.cpp#include "Mywin.h"Mywin::Mywin(QWidget *parent)    : QWidget(parent){//创建控件对象    m_lineEdit=new QLineEdit(this);    m_textEdit=new QTextEdit(this);    m_pushButton=new QPushButton("yes");//创建布局    layout=new QVBoxLayout(this);    layout->addWidget(m_lineEdit);    layout->addWidget(m_textEdit);    layout->addWidget(m_pushButton);    this->setLayout(layout);//使用布局器}Mywin::~Mywin(){}
//main.cpp#include "myclass.h"#include <QtGui/QApplication>#include "Mywin.h"int main(int argc, char *argv[]){    QApplication a(argc, argv);    Mywin w(NULL);    w.resize(400,600);//设置窗口的高和宽度    w.move(100,100);//设置窗口的位置    w.show();//显示窗口    return a.exec();}

点击生成解决方案,再ctrl F5运行

0 0
原创粉丝点击