# -*- 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. Mac OS X 下修改网卡地址和抵御 ARP 攻击

    用 Mac 系统有一段时间了,这里记录一下自己遇到的需要终端命令解决的问题. 网络环境绑定了原先机器的 MAC 地址,由于特殊原因,先把新机器的网卡地址改成原先那台. 在终端输入sudo ifconf ...

  2. [置顶] 【VB.NET2010】注册表写入方法

    这里,以添加启动项为例: Imports Microsoft.Win32 Imports System.Reflection.Assembly   Private Sub SetAuto_Click( ...

  3. core_cm3文件函数一览

    core_cm3是ARM公司推出来的统一规定,这是对下游芯片厂商的统一规定,因此可以再Cortex-M3(CM3)之间进行移植.此文件中定义了一些对特殊功能寄存器的C语言形式的操作,本质上是内敛汇编和 ...

  4. Traceroute程序

    Linux和Unix中为traceroute,Windows中对应的是Tracert.如:Tracert www.baidu.com   输出为路由信息. C:\Users\Administrator ...

  5. delete 用法

    1.对象属性的删除 function fun(){ this.name = 'mm'; } var obj = new fun(); console.log(obj.name);//mm delete ...

  6. [OC笔记] static 关键字

    在变量声明前加上static关键字,可以使局部变量保留多次方法调用所得到的值.当多个方法对一个静态变量进行操作时,多个方法共享同一个静态变量的值.

  7. 你真的了解:IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的最大工作进程数 吗?

    原文链接:http://www.cnblogs.com/yinhaichao/p/4060209.html?utm_source=tuicool&utm_medium=referral 一般购 ...

  8. hdu3714 三分

    Error Curves Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...

  9. C#按键打开文件选择对话框,并把选择好的路径保存/显示到textBox

    1.选择文件夹 FolderBrowserDialog fbd = new FolderBrowserDialog(); fbd.SelectedPath = "D:";//默认路 ...

  10. jquery navi

    /// <reference path="../global.js" /> /********************************************* ...