Layout类中没有直接的swap方法,但是通过其他方法的组合就可以实现交换layout中控件的交换
QWidget *w1 = anibutton[1],*w2 = anibutton[3];
int p1 = ui->horizontalLayout->indexOf(w1);
int p2 = ui->horizontalLayout->indexOf(w2);
qDebug()<<"p1"<<p1;
qDebug()<<"p2"<<p2;
if(p1>p2)std::swap(p1,p2);
ui->horizontalLayout->removeWidget(w1);
ui->horizontalLayout->removeWidget(w2);
ui->horizontalLayout->insertWidget(p1,w2);
ui->horizontalLayout->insertWidget(p2,w1);