我有2个布局 - layout1
和layout2
。假设两者在其中的小部件类型数量方面完全不同。现在我有2个按钮but1
和but2
。当but1
被挂起时layout1
被激活,当but2
被点击时layout2
被激活。 我如何在Qt中实现这一点?在Qt中切换布局
注: 我不想删除我的小部件(或布局)
我有2个布局 - layout1
和layout2
。假设两者在其中的小部件类型数量方面完全不同。现在我有2个按钮but1
和but2
。当but1
被挂起时layout1
被激活,当but2
被点击时layout2
被激活。 我如何在Qt中实现这一点?在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这一点。
其实我期待的东西像stackedWidget-> addLayout(layout1);其中我的布局包含了很多不同的小部件和布局。例如,让我们说:在layout1中,我有button1和label1。类似于layout2。我如何使用QStackedWidget在2种布局之间切换? – sudeepdino008 2013-03-05 07:35:28
由于布局是两个小部件的子项,所以QWidgets parentLayout1和parentLayout2在显示它们时将显示布局。我应该补充一点,无论你使用什么QWidget作为父项来填充两个布局,那么当显示父窗口部件时,布局中的所有内容都将显示出来。所以当我说'stackedWidget-> widget(1) - > show();'我正在做的是显示第一个具有子布局的小部件,这将显示布局。 – 2013-03-05 16:52:29
啊!谢谢。现在这是有道理的。 – sudeepdino008 2013-03-05 18:55:04