我试图使用组合框来控制多个页面。我通过编码创建了一些自定义小部件,也有一些QFrame
在小部件形式太。但我似乎找不到任何解决办法。我曾尝试使用Qstackwidget
,但程序在此过程中hand。
stackedWidget = new QStackedWidget;
parentLayout1 = new QWidget;
parentLayout2 = new QWidget;
layout1 = new QGridLayout(parentLayout1);
layout2 = new QGridLayout(parentLayout2);
//Default layout to be linearity
layout1->addWidget(ui->TimeL, 0,1);
layout1->addWidget(ui->FreqL, 0,7);
layout1->addWidget(time1, 1,1,3,4);
layout1->addWidget(ui->PlusL, 4,3);
layout1->addWidget(time2, 5,1,3,4);
layout1->addWidget(ui->EqualL, 8,3);
layout1->addWidget(time3, 9,1,3,4);
layout1->addWidget(freq1, 1,7,3,4);
layout1->addWidget(ui->PlusL2, 4,9);
layout1->addWidget(freq2, 5,7,3,4);
layout1->addWidget(ui->EqualL2, 8,9);
layout1->addWidget(freq3, 9,7,3,4);
layout1->addWidget(ui->ProFrame,0,15,3,2);
layout1->addWidget(ui->InfoFrame,10,15,2,2);
layout1->addWidget(ui->LinearFrame,3,15,7,2);
stackedWidget->widget(1)->show();
你能帮我解决这个问题吗?注意,在我的表单中有多个Qframe。但是当我只想显示1个qframe时,我似乎无法隐藏它们
您有parentLayout1
和parentLayout2
,但您从未将它们添加到堆叠的小部件并试图访问第二个小部件(stackedWidget->widget(1)
)。
stackedWidget->addWidget(parentLayout1);
stackedWidget->addWidget(parentLayout2);
另外,你还没有添加任何东西到第二个布局layout2
.