# -*- 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. hdu 3056 病毒侵袭持续中 AC自己主动机

    http://acm.hdu.edu.cn/showproblem.php?pid=3065 刘汝佳的模板真的非常好用,这道题直接过 学到: cnt数组记录单词出现次数 以及map存储单词编号与字符串 ...

  2. BuguMongo是一个MongoDB Java开发框架,集成了DAO、Query、Lucene、GridFS等功能

    http://code.google.com/p/bugumongo/ 简介 BuguMongo是一个MongoDB Java开发框架,它的主要功能包括: 基于注解的对象-文档映射(Object-Do ...

  3. 压位加速-poj-2443-Set Operation

    题目链接: http://poj.org/problem?id=2443 题目意思: 有n个集合(n<=1000),每个集合有m个数ai(m<=10000,1=<ai<=100 ...

  4. gcc/g++/make 编译信息带颜色输出

    假设编译一个项目错误警告太多.很不好找,所以很希望输出信息能够带有颜色. 但是 gcc 4.9.0 之前的版本号并不支持,非常多情况下是不能替换编译器的,比方使用交叉编译器, 也能够使用 colorg ...

  5. Dynamics CRM 2016 使用Plug-in Trace Log调试插件

    1.写插件 首先,让我们写一个简单的插件来测试新插件跟踪日志功能.请注意,在下面的示例代码中,我们增加ITracingService的一个实例,以及记录有关插件的执行信息记录的一些键值: 2.注册插件 ...

  6. 2.IKAnalyzer 中文分词器配置和使用

    一.配置 IKAnalyzer 中文分词器配置,简单,超简单. IKAnalyzer 中文分词器下载,注意版本问题,貌似出现向下不兼容的问题,solr的客户端界面Logging会提示错误. 给出我配置 ...

  7. Masters of Doom

    http://blog.codinghorror.com/you-dont-need-millions-of-dollars/ "In the information age, the ba ...

  8. RegExp子模式- "()"

    读书笔记 把JavaScript权威指南拿出来瞅瞅,正巧看到了第十章 正则表达式的模式匹配 最初接触js的时候,基本上都是在做验证.什么数字验证.命名验证.身份证格式验证.电话号码验证.都是用正则表达 ...

  9. js中的两个数字a,b求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。一共b个数字相加,例如用户输入2,5 s=2+22+222+2222+22222

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  10. CF 8D Two Friends 【二分+三分】

    三个地点构成一个三角形. 判断一下两个人能否一起到shop然后回家,如果不能: 两个人一定在三角形内部某一点分开,假设沿着直线走,可以将问题简化. 三分从电影院出来时候的角度,在对应的直线上二分出一个 ...