在Qt中的QStackedWidget下添加布局

Rup*_*esh 0 c++ qt

如何添加不同的布局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);

}
Run Code Online (Sandbox Code Playgroud)

UmN*_*obe 6

创建3个QWidget对象,将每个布局添加到每个窗口小部件,然后将窗口小部件添加到堆叠窗口小部件.