QT入门之QLayout

文章介绍了Qt中的QLayout布局管理器,特别是QBoxLayout和QGridLayout的使用方法。通过代码示例展示了如何创建和调整布局,包括从右往左和从左往右的布局方向设置,以及QGridLayout中等比例的控件排列。
摘要由CSDN通过智能技术生成

目录

一、QLayout界面相关

1、布局介绍

二、代码展示   

 1、QBoxLayout的相关使用

 2、QGridLayout的使用                           


以下为作者原创,创作不易,转载请标明出处!

一、QLayout界面相关

1、布局介绍

关于QLayout,之前有介绍过界面拖动版布局效果,这次使用的是代码布局器效果。QLayout布局主要分为以下几类:QBoxLayout(QHBoxLayout、QVBoxLayout)、QGridLayout、QStackedLayout,QFormLayout一般使用较多的是前两种。

、代码展示   

 1、QBoxLayout的相关使用

   上代码展示:

    QPushButton *btn1 = new QPushButton("1");
    QPushButton *btn2 = new QPushButton("2");
    QPushButton *btn3 = new QPushButton("3");
    QPushButton *btn4 = new QPushButton("4");
    QPushButton *btn5 = new QPushButton("5");
    QPushButton *btn6 = new QPushButton("6");
    QPushButton *btn7 = new QPushButton("7");

    //盒子布局,方向是从右往左进行效果
    QBoxLayout *m_BoxLayout = new QBoxLayout(QBoxLayout::RightToLeft);
    QVBoxLayout *m_VboxLayout = new QVBoxLayout(this);
    m_VboxLayout->addWidget(btn5);
    m_VboxLayout->addWidget(btn6);
    m_VboxLayout->addWidget(btn7);

    m_BoxLayout->addWidget(btn1);
    m_BoxLayout->addWidget(btn2);
    m_BoxLayout->addWidget(btn3);
    m_BoxLayout->addWidget(btn4);
    m_BoxLayout->addLayout(m_VboxLayout);

    //布局完之后,也是可以修改的,修改为从左往右
    //m_BoxLayout->setDirection(QBoxLayout::LeftToRight);

    QWidget *m_widget = new QWidget();
    m_widget->resize(200,150);
    m_widget->setLayout(m_BoxLayout);

    this->setCentralWidget(m_widget);

注意布局完之后也可以修改,修改为从左往右 

  2、QGridLayout的使用                           

上代码展示:

    //QGridLayout
    QPushButton *btn1 = new QPushButton("1");
    QPushButton *btn2 = new QPushButton("2");
    QPushButton *btn3 = new QPushButton("3");
    QPushButton *btn4 = new QPushButton("4");

    //等比例设置
    QGridLayout *glayout = new QGridLayout();
    glayout->addWidget(btn1,0,0,1,1);
    glayout->addWidget(btn2,0,1,1,1);
    glayout->addWidget(btn3,1,0,1,1);
    glayout->addWidget(btn4,1,1,1,1);

    //设置占比
//    glayout->setColumnStretch(0,3);
//    glayout->setColumnStretch(1,2);


    QWidget *m_widget = new QWidget();
    m_widget->setLayout(glayout);

    this->setCentralWidget(m_widget);

以上是1:1:1:1展示 

将设置占比放开之后效果如下:

推荐博客:精灵球Plus介绍_清风徐来Groot的博客-CSDN博客 

 百度云盘:链接:https://pan.baidu.com/s/11b634VvKMIsGdahyBLpZ3Q   提取码:6666 

好了,以上关于QT入门控件介绍到此为止了,后期如果有需要看看要不要再来出个高级篇的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值