我构建Qt
gui并有许多窗口可以处理。
我用QStackedWidget
s同时实现了这个(用按钮点击信号替换窗口),但我不确定这是正确的方法。
我可以在这种技术中保留很多窗口吗?
首选方式/最佳做法是什么?
这是我的代码(相关):
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);
}
答案 0 :(得分: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
。