我想在Qt C++应用程序中显示红色动画闪烁图标。
设置变量时显示红色闪烁图标,清除变量时显示绿色闪烁图标。
如果断开连接-闪烁红色图标,连接-闪烁绿色图标,这种情况将持续。
有人能告诉我如何显示它吗?
一旦知道如何显示图像:QImage
、QIcon
或QPixmap
,就可以很容易地通过闪烁来设置动画:
- 创建第一个
QImage
(或QIcon
或QPixmap
)(绿色) - 创建第二个
QImage
(或QIcon
或QPixmap
)(红色) - 创建并启动一个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中显示动画图标的最佳方式是什么?