qt类似于qq托盘图标闪烁的消息提示 (胡峰原创,代码已经过测试运行)

构造函数中

    times=new QTimer (this);

    times->setSingleShot(false);//true 表示循环一次 表示循环无数次

    times->setInterval(650);

    connect(times,SIGNAL(timeout()),this,SLOT(changeico()));

void MainWindow::timeico()

{

    m=0;

    times->start();

}

void MainWindow::changeico()//这里我们让其闪烁二十次

{

    m++;

    if(m==20)

    {

        times->stop();

    }

        if(m%2==0)

        {

             iTrayIcon->setIcon( QIcon(":/images/monter.png") );

        }

        else

        {

             iTrayIcon->setIcon( QIcon() );

        }

}

 

 

 

void MainWindow::Maction(QSystemTrayIcon::ActivationReason wch)

{

    switch(wch)

    {

            case QSystemTrayIcon::Trigger: times->stop();

                     iTrayIcon->setIcon( QIcon(":/images/monter.png") );break;//当用户单击时 我们让图标停止闪烁

         default:;

    }

}

 

 

因公司源码不便完全公布 只将其功能函数公布 用户直接调用皆可  

你可能感兴趣的:(qt)