如圖所示,現有代碼在QToolbar內實現了一些QAction。 目的是讓選定的Qaction圖標閃爍。使用QActions以對象方式改進現有代碼
因此,根據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";
}
}
雖然我知道這2點的,@dlewin你想讓它_blink_他們不對應我的需求 – dlewin
?或_toggle_從選中到未選中? – Miki
@dlewin檢查我的更新答案是否有用 – Miki