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() << "完成切换布局";
相关推荐
先知后行。15 分钟前
QT实现计算器
开发语言·qt
掘根16 分钟前
【Qt】常用控件3——显示类控件
开发语言·数据库·qt
GUIQU.21 分钟前
【QT】嵌入式开发:从零开始,让硬件“活”起来的魔法之旅
java·数据库·c++·qt
feiyangqingyun8 小时前
基于Qt和FFmpeg的安卓监控模拟器/手机摄像头模拟成onvif和28181设备
android·qt·ffmpeg
xiyangxiaoguo17 小时前
Qt中使用多线程的范式
qt
攻城狮7号18 小时前
【AI时代速通QT】第七节:Visual Studio+Qt 开发指南
c++·qt·跨平台·visual studio·qt vs tools
极地星光19 小时前
如何使用 Qt Creator 高效调试
qt
轩情吖19 小时前
Qt常用控件之QWidget(三)
开发语言·c++·qt·控件·cursor·qwidget·windowopacity
O_o3811 天前
QT多窗口跳转
开发语言·qt
大橘1 天前
【qml-10】Quick3D实现机器人渲染(mesh)记录
qt·机器人·qml