qt类似于qq托盘图标闪烁的消息提示

转载 2013年12月05日 15:42:21

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:;

    }

}


QIcon icon = QIcon(":/images/icon.ico");加载图片

setWindowIcon(icon);把图片设置到窗口上

trayIcon = new QSystemTrayIcon(this);创建一个系统托盘图标

trayIcon->setIcon(icon);//设置图标

trayIcon->setToolTip("a trayicon example");//设置提示语

trayIcon->show();

setMinimumSize(200,100);窗口最大化和最小化一样大小。所以窗口不能放大也不能缩小

setMaximumSize(200,100);

QApplication::setQuitOnLastWindowClosed(false);//Quit On Last Window Closed退出在最后窗口关闭点击关闭时程序不关闭

在 系统托盘图标中,当图标activated(激活)时应该做好相应的处理,它会触发QSystemTrayIcon::ActivationReason 信号,信号可能是单击(触发(Trigger))、双击(DoubleClick)时应该用switch来接收处理,例如:

void class(QSystemTrayIcon::ActivationReason reason){

  switch (reason) {

  case QSystemTrayIcon::Trigger:

    添加自己处理

  break;  

  case QSystemTrayIcon::DoubleClick:

    添加自己处理

    break;  

  case QSystemTrayIcon::MiddleClick:

   添加自己处理

    break; 

  default:        

  }

}

设置系统托盘图标是常用到以下以个:

QIcon(":/images/icon.ico")//加载ico图片或是

QIcon(":/images/heart.svg")//加载svg图片

QSystemTrayIcon->setIcon(QIcon icon);//定义一个系统托盘图标并设置图标

setWindowIcon(icon);//设置窗口图标

QSystemTrayIcon->setToolTip(string);//定义一个系统托盘图标并设置图标的提示语

有时还需要在图标上设置菜单。如下:

void Window::createActions()

{

minimizeAction = new QAction(tr("最小化"), this);

connect(minimizeAction, SIGNAL(triggered()), this, SLOT(hide()));//若是触发了最小化就隐藏窗口

maximizeAction = new QAction(tr("最大化"), this);

connect(maximizeAction, SIGNAL(triggered()), this, SLOT(showMaximized()));//若触发了最大化就最大化窗口

restoreAction = new QAction(tr("还原"), this);

connect(restoreAction, SIGNAL(triggered()), this, SLOT(showNormal()));//若触发了还原就正常显示

quitAction = new QAction(tr("退出"), this);

connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));//若触发了退出就退出程序

}

void Window::createTrayIcon()//创建托盘图标

{

trayIconMenu = new QMenu(this);//菜单

trayIconMenu->addAction(minimizeAction);//把最小化加入到菜单项

trayIconMenu->addAction(maximizeAction);//把最大化加入到菜单项

trayIconMenu->addAction(restoreAction);//把还原加扩到菜单项

//trayIconMenu->addSeparator();//加入一个分离符

trayIconMenu->addAction(quitAction);//把退出加到入菜单项

trayIcon = new QSystemTrayIcon(this);//创建一托盘图标

trayIcon->setContextMenu(trayIconMenu);//设置托盘上下文菜单为trayIconMenu

}

当你不想把你的图标显示出来而程序正常运行,那么就要设置是否可见(setEnabled):

如下:

qidget::setEnabled(bool)

举报

相关文章推荐

在状态栏上显示会闪烁的图标(类似qq消息提示)

前两周公司接了个运行在车机上的行车记录仪小项目,在做完提交给对方公司测试后,他们提出了当程序在后台录像时,需要在状态栏上显示个闪烁的图标给用户进行提示。   好吧,虽然对方给的需求文档上没这个功能,但...

Flex AIR 做一个类似QQ消息提示在系统托盘闪烁图标

来源:http://forum.airia.cn/archiver/FLEX/thread-14645-1.html 用Flex AIR 做一个类似QQ消息提示在系统托盘闪烁图标

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

类似QQ的提示消息数量

<RadioGroup android:id="@+id/main_tab_group"

win32 托盘图标的显示以及闪烁功能

win32托盘图标的闪烁与显示

Android自定义类似于QQ的消息提示框

看到QQ的信息提示框,感觉效果很不错,做了一个类似的,展示如下: 效果还不错,整体上是Translate动画和FrameLayout布局的结合,下面看一下代码: activiy_main.xml ...

通过闪烁标题实现“消息提示”

模拟当有新消息到来的时候,通过在标题闪烁“新消息”字样进行提示。 在视图文件中加入以下脚本:     ;(function($) { ...

Android消息提示类viewbadger

类似qq消息提示的开源工具类(Android消息提示类viewbadger)

最小化到托盘并有图标闪烁效果

利用QSystemTrayIcon类来实现最小化托盘,并实现像QQ那样有消息闪烁图标的效果 但是程序运行到最后有个让我找了很久都没有找到的问题,就是当点击了图标的MessageBox()后,程序...

Qt 实现系统托盘,托盘菜单,托盘消息

Qt 实现系统托盘,托盘菜单,托盘消息             系统托盘就是运行的某个程序在电脑右下角的小图标,相信大家都很熟悉。QT 提供了QSystemTrayIcon类用于实现程序的托盘。QT...

AIR-任务栏高亮或托盘图标闪烁

一、任务栏高亮 NativeWindow提供了notifyUser()方法来闪烁任务栏标题:notifyUser(type:String):void; 该方法有一个参数,两个可选值:Notific...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)