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);