如图所示,现有代码在QToolbar中实现了一些QAction。目的是使选中的 Qaction 的图标闪烁。
因此,根据Wizard_Step(类成员),每次调用此计时器处理程序时 ,专用QAction的图标会交替更改。
虽然这是 100% 的工作,但这段代码真的很棒,我想通过以对象方式分解这段代码来改进。我正在考虑使用 QAction 指针,例如数组。
void MainWindow::on_Timer_Update()
{
Wizard_hide = !Wizard_hide ;
switch (Wizard_Step)
{
case 1 :
if ( Wizard_hide )
ui->actionOpen_Dir->setIcon(QIcon(QPixmap(":/Icons/dir_selected" ) ));
else
ui->actionOpen_Dir->setIcon(QIcon(QPixmap(":/Icons/dir") )) ;
break;
case 2 :
if ( Wizard_hide )
ui->actionAdd_Selected_Item->setIcon(QIcon(QPixmap(":/Icons/Selected_row_selected" ) ));
else
ui->actionAdd_Selected_Item->setIcon(QIcon(QPixmap(":/Icons/Selected_row") )) ;
break;
case 3 :
if ( Wizard_hide )
ui->actionClean_Filename->setIcon(QIcon(QPixmap(":/Icons/clean_selected" ) ));
else
ui->actionClean_Filename->setIcon(QIcon(QPixmap(":/Icons/clean") )) ;
break;
case 4 :
if ( Wizard_hide )
ui->actionApply_changes->setIcon(QIcon(QPixmap(":/Icons/Apply_selected" ) ));
else
ui->actionApply_changes->setIcon(QIcon(QPixmap(":/Icons/Apply") )) ;
break;
default: qDebug() << "error";
}
}