QStackedWidget添加,切换及删除窗口

QStackedWidget添加,切换及删除窗口

     QStackedWidget可以实现同一界面切换不同的窗口,直接切换就可以显示不同子窗口的内容,可用于创建类似于QTabWidget提供的用户界面。

添加窗口

    QLabel *pFirstPage= new QLabel(this);

    QLabel *pSecondPage = new QLabel(this);

    QLabel *pThirdPage = new QLabel(this);

 

    pFirstPage->setText(QStringLiteral("第一页"));

    pSecondPage->setText(QStringLiteral("第二页"));

    pThirdPage->setText(QStringLiteral("第三页"));

 

     myfrm1 = new Form1(this);

     myfrm2 = new Form2(this);

 

     ui->m_pStackedWidget->addWidget(myfrm1);

     ui->m_pStackedWidget->addWidget(myfrm2);

 

     ui->m_pStackedWidget->addWidget(pFirstPage);

     ui->m_pStackedWidget->addWidget(pSecondPage);

     ui->m_pStackedWidget->addWidget(pThirdPage);

 

切换方法:

      ui->stackedWidget->setCurrentWidget(pThirdPage);

     ui->m_pStackedWidget->setCurrentWidget(myfrm1);

      ui->stackedWidget->setCurrentIndex(1);

 

删除所有窗口

    for(int i = ui->m_pStackedWidget->count(); i >= 0; i--)

    {

        QWidget* widget = ui->m_pStackedWidget->widget(i);

        ui->m_pStackedWidget->removeWidget(widget);

        widget->deleteLater();

    }


备注:实战示例,解疑答惑。

           --不间端地思考,实时地批判你的工作!

你可能感兴趣的:(QT/C++,QT项目实战,qt5,c++)