如何在qt中显示闪烁的[动画]红色/绿色状态图标



我想在Qt C++应用程序中显示红色动画闪烁图标。

设置变量时显示红色闪烁图标,清除变量时显示绿色闪烁图标。

如果断开连接-闪烁红色图标,连接-闪烁绿色图标,这种情况将持续。

有人能告诉我如何显示它吗?

一旦知道如何显示图像:QImageQIconQPixmap,就可以很容易地通过闪烁来设置动画:

  • 创建第一个QImage(或QIconQPixmap)(绿色)
  • 创建第二个QImage(或QIconQPixmap)(红色)
  • 创建并启动一个QTimer,并将timeout()信号连接到将在两个第一个映像之间切换的插槽

使用计时器和QMovie,我已经解决了问题。

下面是更新通知栏的计时器

  updateScreenTimer = new QTimer(this);
  connect(updateScreenTimer, SIGNAL(timeout()), this, SLOT(update_Time_Slot()));
  updateScreenTimer->start(TIME_USED_UPDATE_NOTIFICATION);

每次TIME_USED_UPDATE_NOTIFICATION超时后,它将调用下面的插槽并检查变量,如果设置了变量,则启动绿色闪烁的动画gif图像电影。否则启动红色闪烁的动画gif图像。

    void Notification::update_Time_Slot()
    {    
        if(ConectionStatus==1)
        {
            QMovie *movie = new QMovie(":/new/prefix1/greenBlinking1.gif");
            if(movie->isValid())
            {
                ui->connectionLabel->setMovie(movie);
                movie->start();
            }
            ui->connectionLabel->show();
        }
        else
        {
            QMovie *movie = new QMovie(":/new/prefix1/redBlinking1.gif");
            if(movie->isValid())
            {
                ui->connectionLabel->setMovie(movie);
                movie->start();
            }
            ui->connectionLabel->show();
        }
    }

相关帖子->在QTableView中显示动画图标的最佳方式是什么?

最新更新