QT切换控件布局

1、切换前垂直布局

2、切换后水平布局

3、关键代码

    qDebug() << "开始切换布局";
    QWidget *widget = centralWidget();
    QLayout *layout = widget->layout();
    if(layout)
    {
        while(layout->count())
        {
            QLayoutItem *item = layout->takeAt(0);
            if(item->layout())
            {
                delete item->layout();
            }
            else
            {
                if(item->widget())
                {
                    delete item->widget();
                }
            }
            delete item;
        }
        delete layout;
    }

    layout = new MyHBoxLayout;

    QLabel *label1 = new MyLabel("Label 1");
    QLabel *label2 = new MyLabel("Label 2");
    QLabel *label3 = new MyLabel("Label 3");

    label1->setStyleSheet("QLabel {background : red}");
    label2->setStyleSheet("QLabel {background : green}");
    label3->setStyleSheet("QLabel {background : blue}");

    layout->addWidget(label1);
    layout->addWidget(label2);
    layout->addWidget(label3);
    widget->setLayout(layout);

    qDebug() << "完成切换布局";
相关推荐
Geek之路2 小时前
QT系统学习篇(1)
开发语言·qt·学习
Geek之路10 小时前
Qt系统学习篇(6)-QMainWindow
数据库·qt·学习
初阳78511 小时前
【Qt】控件概述(2)—— 按钮类控件
开发语言·qt
初阳78511 小时前
【Qt】控件概述(3)—— 显示类控件
开发语言·qt
efls11112 小时前
Qt_绘图
开发语言·c++·qt
TravisBytes12 小时前
在 Qt 项目中使用 spdlog 的全攻略
开发语言·c++·qt
code_snow12 小时前
QT学习笔记4.5(文件、参数文件)
笔记·qt·学习
海绵波波1071 天前
梗百科——信号和槽机制
qt
code_snow1 天前
QT学习笔记1.2(QT的应用)
笔记·qt·学习
code_snow1 天前
QT学习笔记3.1(建立项目、执行_建立第一个工程)
qt