gpt4 book ai didi

c++ - removeWidget() 不工作

转载 作者:行者123 更新时间:2023-11-28 07:10:19 28 4
gpt4 key购买 nike

我正在添加小部件,同样想删除该小部件,但无法从布局中删除该小部件。

void mywindow::popUpWindow()
{

if(stack1->currentIndex()==0){
mainLayout->removeWidget(stack3);
mainLayout->addWidget(stack2);
this->setGeometry(80,50,250,200);

}

if(stack1->currentIndex()==1){
mainLayout->removeWidget(stack2);
mainLayout->addWidget(stack3);
this->setGeometry(80,50,250,200);

}
}

我正在检查 QStackedWidgetcurrentIndex,然后添加和删除小部件。

最佳答案

您应该拥有一个 QStackedWidget,将所有页面放入其中并使用其功能在页面之间切换,而不是拥有许多 QStackedWidget 并在它们之间手动切换。如果你喜欢有两个 QStackedWidgets,最好创建第三个 QStackedWidget,放置两个 QStackedWidgets 并在它们之间轻松切换。您无需手动操作布局。

无论如何,removeWidget 方法只会禁用小部件的几何管理。它拥有与以前相同的父级和位置。如果你想让它消失,你必须手动隐藏它。

实际上,你可以直接调用stack2->hide(); stack3->show(); 并删除布局方法的使用。您不必从布局中删除小部件,只需将其隐藏即可。

关于c++ - removeWidget() 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21090616/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com