Qt随笔

来源:互联网 发布:苹果淘宝下载 编辑:程序博客网 时间:2024/05/17 19:59

Qt随笔 - QVBoxLayout和QHBoxLayout

关系图

垂直布局:QVBoxLayout

先来一两代码:

QWidget *widget = new QWidget();QVBoxLayout * vBoxLayout = new QVBoxLayout();QLabel *label = new QLabel("hello");QPushButton *pushButton = new QPushButton("hi");vBoxLayout->addWidget(label);vBoxLayout->addWidget(pushButton);widget->setLayout(vBoxLayout);widget->show();

效果:
QVBoxLayout

水平布局:QHBoxLayout

一样:

QWidget *widget = new QWidget();QHBoxLayout * hBoxLayout = new QHBoxLayout();QLabel *label = new QLabel("hello");QPushButton *pushButton = new QPushButton("hi");hBoxLayout->addWidget(label);hBoxLayout->addWidget(pushButton);widget->setLayout(hBoxLayout);widget->show();

QHBoxLayout

QHBoxLayout嵌套QVBoxLayout

QWidget *widget = new QWidget();QHBoxLayout * hBoxLayout = new QHBoxLayout();QVBoxLayout * vBoxLayout = new QVBoxLayout();QLabel *label_text = new QLabel("Chengdu 1 – 3 Day Weather Forecast Summary");QLabel *label_picture = new QLabel();label_picture->setPixmap(QPixmap(":/weather").scaled(32,32, Qt::KeepAspectRatioByExpanding));QPushButton *pushButton = new QPushButton("more");vBoxLayout->addWidget(label_text);vBoxLayout->addWidget(pushButton);hBoxLayout->addWidget(label_picture);hBoxLayout->addLayout(vBoxLayout);widget->setLayout(hBoxLayout);widget->show();

QHBoxLayout嵌套QVBoxLayout

总结

1.向布局添加一个Widget:
void QBoxLayout::addWidget(QWidget *widget, int stretch = 0, Qt::Alignment alignment = Qt::Alignment())
2.向布局再添加一个布局
void QBoxLayout::addLayout(QLayout *layout, int stretch = 0)
3.最后,使用它来确定Widget的布局
void QWidget::setLayout(QLayout *layout)

原创粉丝点击