2015-07-09 14 views
1

我构建Qt gui并有很多窗口可以处理。 我与QStackedWidget同时实现这个(用按钮点击信号替换窗口),但我不确定这是否正确。QStackedWidget是处理Qt程序中多个窗口的推荐方式吗?

我可以在这种技术中保持很多窗口吗?

什么是首选方式/最佳做法?

这是一张我的代码(相关):

ui->pagesWidget->addWidget(new Menu); 
ui->pagesWidget->addWidget(new Repetitive); 
ui->pagesWidget->addWidget(new SinglePulse); 


void MainWindow::on_btnSinglePulse_clicked() 
{ 
    ui->pagesWidget->setCurrentIndex(1); 
} 

void MainWindow::on_btnMenu_clicked() 
{ 
    ui->pagesWidget->setCurrentIndex(0); 
} 

void MainWindow::on_btnPulseGroup_clicked() 
{ 
    ui->pagesWidget->setCurrentIndex(2); 
} 

回答

1

我觉得这很好,但也许如果你只创建一个插槽,并检查该sender()你可以简化你的代码。

void onButtonClicked() 
{ 
    if (sender() == ui->button0) 
    { 
     ui->pagesWidget->setCurrentIndex(0); 
    } 
    else if (sender() == ui->button1) 
    { 
     ui->pagesWidget->setCurrentIndex(1); 
    } 
    // ... and so on. 
} 

或者您可以只使用QTabWidget

相关问题