Qt 交换Layout中的QWidget控件位置

Layout类中没有直接的swap方法,但是通过其他方法的组合就可以实现交换layout中控件的交换

 1     QWidget *w1 = anibutton[1],*w2 = anibutton[3];
 2     int p1 = ui->horizontalLayout->indexOf(w1);
 3     int p2 = ui->horizontalLayout->indexOf(w2);
 4     qDebug()<<"p1"<<p1;
 5     qDebug()<<"p2"<<p2;
 6     if(p1>p2)std::swap(p1,p2);
 7     ui->horizontalLayout->removeWidget(w1);
 8     ui->horizontalLayout->removeWidget(w2);
 9     ui->horizontalLayout->insertWidget(p1,w2);
10     ui->horizontalLayout->insertWidget(p2,w1);
原文地址:https://www.cnblogs.com/ybqjymy/p/14759804.html