如图所示,现有代码在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