# -*- 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. 自定义jquery插件

    参考:http://blog.csdn.net/bao19901210/article/details/21540137/ 自己看代码理解: <!DOCTYPE html> <htm ...

  2. web.xml中contextConfigLocation的作用(转)

    原文地址:http://blog.csdn.net/zhangliao613/article/details/6289114 原文格式较乱,此处略作整理.内容未变. 在web.xml中使用contex ...

  3. Oracle—RMAN备份(三)

    一.增量备份的相关概念 1. 在前面说明了RMAN的完整备份,完整备份是备份所用使用过的块,不备份没有使用的过的块:增量备份只备份自上次备份以来更改过的块. 2.即使RMAN的默认操作是在增量备份时扫 ...

  4. VC++ CopyFile函数使用方法

    BOOL CopyFile( LPCTSTR lpExistingFileName, // pointer to name of an existing file LPCTSTR lpNewFileN ...

  5. Android Xfermode 实战 实现圆形、圆角图片

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/42094215,本文出自:[张鸿洋的博客] 1.概述 其实这篇本来准备Androi ...

  6. My way on Linux - [Shell基础] - Bash Shell中判断文件、目录是否存在或者判断其是否具有某类属性(权限)的常用方法

    Conditional Logic on Files # 判断文件是否存在及文件类型 -a file exists. #文件存在 -b file exists and is a block speci ...

  7. 第一篇文章-VS的Local DB数据库连接失败,创建实例失败的解决方案

    用了很久的LocalDB了,不用装那么多的SQL组件感觉很不错,前不久调试代码碰到一个问题 ,VS突然就连接不上LocalDB了,琢磨了一下午,其实有个很简单的方法. 第一步,先找到SQL Local ...

  8. weblogic开机启动-超简单

    1.编写weblogic启动脚本,命名为start_weblogic_server.sh,内容如下:  #!/bin/bashnohup /home/weblogic/Oracle/Middlewar ...

  9. tomcat重启或关闭后,上传文件消失 .

    tomcat重启或关闭后,上传文件消失的问题,是因为在断电前myeclipse是启动的,断电时造成myeclipse异常关闭,再重新启动myeclipse时会重新发布项目,把先前发布的项目给覆盖了,所 ...

  10. Mahout快速入门教程

    Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚类等.Mahout最大的优点就是基于hadoop实现,把很多以前运行于单 ...