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() << "完成切换布局";
相关推荐
qq_4017004136 分钟前
QT的5种标准对话框
开发语言·qt
rainFFrain2 小时前
qt显示类控件---QCalendarWidget
开发语言·qt
爱奥尼欧4 小时前
【QT笔记】常用控件——QWidget 核⼼属性
数据库·笔记·qt
大神的风范5 小时前
linux之ubuntu qt界面开发开发点菜系统
linux·qt·ubuntu
大米粥哥哥6 小时前
Qt 使用QAMQP连接RabbitMQ
开发语言·qt·rabbitmq·qamqp
怎么就重名了16 小时前
STM32+蓝牙模块+超声波模块+QT
stm32·嵌入式硬件·qt
864记忆18 小时前
Qt Network 模块中的函数详解
开发语言·网络·qt
864记忆18 小时前
Qt Sql 模块中的函数详解
开发语言·网络·qt
常乐か20 小时前
occ中以鼠标所在位置进行缩放
qt·occ
江公望1 天前
Qt告警clazy-detaching-temporary浅谈
qt·qml