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() << "完成切换布局";
相关推荐
嘤国大力士7 小时前
C++11&QT复习 (七)
java·c++·qt
嘤国大力士8 小时前
C++11&QT复习 (十一)
开发语言·c++·qt
wkm9568 小时前
qt.qpa.xcb: could not connect to display解决方法
开发语言·qt·ubuntu
追烽少年x11 小时前
在Qt中直接在构建目录下直接运行.exe文件报错问题分析
qt
AAA废品回收站陈师傅14 小时前
19信号和槽_信号和槽的基本概念
qt
爱吃巧克力的程序媛14 小时前
在 Qt 创建项目时,Qt Quick Application (Compat) 和 Qt Quick Application
开发语言·qt
AAA废品回收站陈师傅15 小时前
18认识Qt坐标系
qt
m0_5557629015 小时前
QT 动态布局实现(待完善)
服务器·数据库·qt
genispan16 小时前
QT/C++ 多线程并发下载实践
开发语言·c++·qt
努力搬砖的咸鱼17 小时前
Qt中的数据解析--XML与JSON处理全攻略
xml·开发语言·qt·json