替换QWidgets

替换QWidgets,qwidget,Qwidget,我找到了一个类似的解决方案,但解决方案并不能解决我的疑问 我有一个带有不同项的QDialog,其中有一个指向QWidget的指针。这已充分集成到对话框中。我想知道是否可以在同一位置更换QWidget。我不想隐藏它,我想删除当前的小部件,用新的小部件替换它 我目前采取的方法: 我使用了一个指向当前小部件m_pccurrentwdgt的指针。我在一个简单的布局中使用了一些元素,因此我可以手动控制小部件的位置。否则,我将使用额外的支持布局m_pLayoutWidget将小部件放置在我想要的位置。替换工

我找到了一个类似的解决方案,但解决方案并不能解决我的疑问


我有一个带有不同项的QDialog,其中有一个指向QWidget的指针。这已充分集成到对话框中。我想知道是否可以在同一位置更换QWidget。我不想隐藏它,我想删除当前的小部件,用新的小部件替换它

我目前采取的方法:

我使用了一个指向当前小部件m_pccurrentwdgt的指针。我在一个简单的布局中使用了一些元素,因此我可以手动控制小部件的位置。否则,我将使用额外的支持布局m_pLayoutWidget将小部件放置在我想要的位置。替换工作如下:当我想用一个新的pWidget替换当前小部件时,我从支持布局中删除当前小部件,并将新的小部件插入前一个位置,例如N_小部件

void MyDialog::replaceWidget(QWidget *pWidget) {
     this->m_pLayoutWidget->removeWidget(m_pCurrentWidget);
     delete m_pCurrentWidget;
     m_pCurrentWidget = pWidget;
     this->insertWidget(N_WIDGET, m_CurrentWidget);
}
我想避免在这里使用布局,但至少它对我有用