Python Tech

PyQT实现通知区域图标和对话气泡

的:

  1. 软件运行时,在通知区域显示图标;
  2. 当有新任务时,显示对话气泡。
实现:

  1. 利用PyQT在系统的通知区域显示图标;
  2. 让Python程序循环执行。

首先来实现第一个功能——在通知区域显示图标和对话气泡。

需要制作的是:图标,点击图标弹出的菜单,菜单的行为,对话气泡,主窗口。需要的模块是systray_rc,在PyQT的范例中可以找到,安装后的目录是\Python目录\Lib\site-packages\PyQt4\examples\desktop\systray,复制systray_rc.pysystray_rc.pyc到开发目录下,新建一个tasktip.py,代码如下:

然后来实现第二个功能——当有新任务时,显示对话气泡。

解决方案有很多,我选择了很没效率但是很简单的方式:Python每隔一段时间读取一次数据库或是某个文件,当这个文件或这个数据改变时,也就是插入了新任务,弹出对话气泡。在64行定义了名为getTasksNum的函数,用来弹出对话气泡,在这里设置为每隔30秒执行一次。

借助Python的多线程编程,可以很容易的实现这一功能。Python提供了几个用户多线程编程的模块,在这里使用threading,它比thread拥有更多的功能,提供多种同步机制。

Step1

Step2

Step3

结束,这个时候主窗口还是空白的,根据需要自己写入内容。该程序在Gnome(本机是Ubuntu)窗口下无法弹出内容,会显示“没有可用的通知类型”,在虚拟机中的xp下测试成功。

Leave a Reply

Your email address will not be published. Required fields are marked *