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();
}
備註:實戰示例,解疑答惑。
--不間端地思考,實時地批判你的工作!