QT布局:QVBoxLayoutQHBoxLayout

    技术2022-08-16  95

    关系图

    垂直布局: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)

    作者:静_谷 链接:https://www.jianshu.com/p/938301a4d54e 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    Processed: 0.028, SQL: 9