在我的程序中,当按下按钮时,我需要将verticalLayout顶部的comboBox向下移动到底部,因此第二个comboBox位于顶部。 comboBoxes是在Qt设计器中创建的,我需要能够在一个应用程序实例中多次完成。我该怎么做呢?

最佳答案

小部件不能在布局内自由移动,布局管理小部件的位置和大小。获得该位移的策略是从第一个位置删除小部件并重新插入它:

QLayoutItem *child;
// remove
if ((child = ui->verticalLayout->takeAt(0)) != 0) {
    // insert
    ui->verticalLayout->addItem(child);
}


您可以在以下link中找到完整的示例

10-06 12:59