# -*- coding: utf-8 -*-

# python:2.x

__author__ = 'Administrator'

from PyQt4.QtGui import *

from PyQt4.Qt import *

from PyQt4.QtCore import *

from tp import Ui_Form

import sys

from PyQt4.QtCore import Qt

QTextCodec.setCodecForTr(QTextCodec.codecForName("utf8"))

class Example(QDialog,Ui_Form):

def __init__(self,parent=None):

super(Example, self).__init__(parent)

self.setupUi(self)

self.setContextMenuPolicy(Qt.CustomContextMenu)

self.connect(self,SIGNAL('customContextMenuRequested(const QPoint&)'),self.on_context)

self.createContexMenu()

self.tp.clicked.connect(self.bsfs)

def bsfs(self):

self.setContextMenuPolicy(Qt.CustomContextMenu)

self.x1=QMenu(self)

self.a1=self.x1.addAction(u'托盘')

self.a1.triggered.connect(self.menus)

self.x1.exec_(self.mapToGlobal(QPoint(130,98)))

def on_context(self,point):

self.contextMenu.exec_(self.mapToGlobal(point))

def createContexMenu(self):

"""

创建右击菜单

"""

self.setContextMenuPolicy(Qt.CustomContextMenu)

self.contextMenu=QMenu(self)

self.bsfsc=self.contextMenu.addAction(u'托盘')

self.trayicon=QSystemTrayIcon(self)

self.trayicon.setIcon(QIcon(r'tp.png'))

self.trayicon.setToolTip(u'托盘')

self.bsfsc.triggered.connect(self.menus)

def showMessage(self):

icon=QSystemTrayIcon.Information

self.trayicon.showMessage(u"提示信息",u"点我干嘛?",icon)

def trayclick(self,res):

if res==QSystemTrayIcon.DoubleClick:

self.showNormal()

elif res==QSystemTrayIcon.MiddleClick:#中击

self.showMessage()

def menus(self):

self.min=QAction(u'最小化',self,triggered=self.hide)

self.max=QAction(u'最大化',self,triggered=self.showMaximized)

self.Hy=QAction(u'还愿',self,triggered=self.showNormal)

self.qiuct=QAction(u'退出',self,triggered=qApp.quit)

self.traymen=QMenu(QApplication.desktop())

self.traymen.addAction(self.min)

self.traymen.addAction(self.max)

self.traymen.addAction(self.Hy)

self.traymen.addAction(self.qiuct)

self.trayicon.setContextMenu(self.traymen)

self.trayicon.activated.connect(self.trayclick)

self.trayicon.show()

self.qiuct.triggered.connect(self.qiut)

def qiut(self):

self.showMessage()

self.close()

def activation(self,activation_reason):#托盘

if activation_reason==QSystemTrayIcon.Trigger:

self.show()

app =QApplication(sys.argv)

QApplication.setQuitOnLastWindowClosed(False)

x = Example()

x.show()

sys.exit(app.exec_())

如图:

pyqt 托盘例子学习的更多相关文章

  1. pyqt托盘例子

    # -*- coding: cp936 -*- #!/usr/bin/env python # -*- coding:utf-8 -*- from PyQt4 import QtCore, QtGui ...

  2. pyqt QTreeWidget例子学习

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import  * from Py ...

  3. pyqt columnView例子学习

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import  * from Py ...

  4. pyqt QTableView例子学习

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import  * from Py ...

  5. pyqt QTableWidget例子学习(重点)

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import * from PyQ ...

  6. pyqt 正则表达式例子学习

    def rex01(self): username=QtCore.QRegExp('[a-zA-Z0-9_]{2,10}') self.names.setValidator(QtGui.QRegExp ...

  7. pyqt tabWidget例子学习1

    from PyQt4 import QtGui from PyQt4 import QtCore from PyQt4.QtCore import pyqtSlot,SIGNAL,SLOT impor ...

  8. pyqt 配置文件例子学习

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' import sys,datetime from PyQt4.QtC ...

  9. pyqt 自定义例子学习

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' import sys from PyQt4.QtCore impor ...

随机推荐

  1. 小米路由器mini如何设置外网访问wan网站的方法

    很多的玩友都在小米路由器mini上面搭建了自己的网站,有些朋友还需要设置对外网进行开放,我自己也在路由器上面实践了使用,下面与大家分享一下如何设置外网访问路由器网站的办法. 工具/原料 小米路由器mi ...

  2. 让你不再纠结GitHub:Git起步

    一.关于版本控制 版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统.我们通常仅对保存着软件源代码的文本文件做版本控制,但实际上,你可以对任何类型的文件进行版本控制. 采用版本控制 ...

  3. WebSphere性能优化的几个方法

    1.更改http server的配置文件参数KeepAlive.     原因:这个值说明是否保持客户与HTTP SERVER的连接,如果设置为ON,则请求数到达MaxKeepAliveRequest ...

  4. oracle 双机热备,oracle dataguard 和oracle rac的区别和联系(转)

    Data Guard 是Oracle的远程复制技术,它有物理和逻辑之分,但是总的来说,它需要在异地有一套独立的系统,这是两套硬件配置可以不同的系统,但是这两套系统的软件结构保持一致,包括软件的版本,目 ...

  5. 老生常谈的Javascript作用域问题

    在前端学习中,作用域这个问题一直被广泛提起,什么是作用域,什么又是作用域链?在Javascript中,怎么去理解这些概念都是学好这门语言的关键,所以在学习前端开发的过程中,我需要也很有必要去学习和总结 ...

  6. iocfont 网页图标字体以及使用方法

    在网页设计中使用图标字体(icon font)是件挺有新意的事情,使用图标字体能我们带来了一定的方便,比如在移动设备.Retina屏幕效果展示.兼容IE6/7浏览器以及能任意将图标放大缩小等,这些都是 ...

  7. (转)jQuery插件开发模式

    要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...

  8. c#类初始化器

    其实类型初始化器只是一种语法糖这样写MyClass a=new MyClass{ filedOne="a" ,filedTwo="b" };会被编译器编译成和如 ...

  9. poj3273 二分

    Monthly Expense Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 21448   Accepted: 8429 ...

  10. C++友元函数重载"++"和"--"运算符

    代码: #include <iostream> #include <cstring> using namespace std; class one{ public: one(i ...