如何在QStackedWidget
下添加不同的布局。我有3个QVBoxLayout
,我想在QVBoxLayout
下添加此QStackedWidget
。我知道布局无法添加内部小部件。但有没有办法做到这一点。因此,从QStackedWidget
我可以更改不同的layout
。
mywindow::mywindow() : QMainWindow()
{
centralWidget = new QWidget(this);
setCentralWidget(centralWidget);
layout1 = new QVBoxLayout(centralWidget);
layout2 = new QVBoxLayout();
layout3 = new QVBoxLayout();
stack1 = new QStackedWidget();
list1 = new QListWidget();
list2 = new QListWidget();
list3 = new QListWidget();
label1 = new QLabel("Main Menu");
label2 = new QLabel();
label3 = new QLabel("Hello");
label4 = new QLabel("Hi");
line1 = new QLineEdit();
list1->addItem("Item 1");
list1->addItem("Item 2");
list1->addItem("Item 100");
list2->addItem("Item 3");
list2->addItem("Item 4");
list3->addItem("Item 5");
list3->addItem("Item 6");
layout1->addWidget(label1);
layout1->addWidget(list1);
layout1->addWidget(label2);
layout2->addWidget(label3);
layout2->addWidget(list2);
layout3->addWidget(label4);
layout3->addWidget(list3);
stack1->addWidget(layout1);
stack1->addWidget(layout2);
stack1->addWidget(layout3);
this->setLayout(layout);
}
答案 0 :(得分:6)
创建3个QWidget
个对象,将每个布局添加到每个窗口小部件,然后将窗口小部件添加到堆叠窗口小部件。