我有 2 个布局 -layout1
和layout2
. 假设两者在其中的小部件类型数量方面完全不同。现在我有 2 个按钮but1
和but2
. 什么时候but1
被点击被layout1
激活,什么时候but2
被点击layout2
被激活。我怎样才能在 Qt 中实现这一点?
注意: 我不想删除我的小部件(或布局)
QStackedWidget* stackedWidget = new QStackedWidget;
QWidget* parentLayout1 = new QWidget;
QWidget* parentLayout2 = new QWidget;
QGridLayout* layout1 = new QGridLayout(parentLayout1);
QGridLayout* layout2 = new QGridLayout(parentLayout2);
stackedWidget->addWidget(parentLayout1);
stackedWidget->addWidget(parentLayout2);
stackedWidget->widget(1)->show();
然后根据需要隐藏并显示它们,我自己尝试了 QStackedLayout 来解决这个问题,但我无法让它工作,但上述解决方案应该可以正常工作。我在我目前正在处理的一个项目中使用它,切换小部件的性能可能与 QStackedLayout 相同。显然我给你的是代码的基本内容,但这应该对你有所帮助。任何后续问题让我知道。您也可以使用您想要的任何类型的布局,不必是 QGridLayout,这正是我使用的。
为此,您应该使用 QStackedLayout 或 QStackedWidget。