pyqt 托盘例子学习
# -*- 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 托盘例子学习的更多相关文章
- pyqt托盘例子
# -*- coding: cp936 -*- #!/usr/bin/env python # -*- coding:utf-8 -*- from PyQt4 import QtCore, QtGui ...
- pyqt QTreeWidget例子学习
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import * from Py ...
- pyqt columnView例子学习
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import * from Py ...
- pyqt QTableView例子学习
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import * from Py ...
- pyqt QTableWidget例子学习(重点)
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import * from PyQ ...
- pyqt 正则表达式例子学习
def rex01(self): username=QtCore.QRegExp('[a-zA-Z0-9_]{2,10}') self.names.setValidator(QtGui.QRegExp ...
- pyqt tabWidget例子学习1
from PyQt4 import QtGui from PyQt4 import QtCore from PyQt4.QtCore import pyqtSlot,SIGNAL,SLOT impor ...
- pyqt 配置文件例子学习
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' import sys,datetime from PyQt4.QtC ...
- pyqt 自定义例子学习
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' import sys from PyQt4.QtCore impor ...
随机推荐
- 在ubuntu14.04上部署hadoop2.6.3
一.在Ubuntu下创建hadoop组和hadoop用户 增加hadoop用户组,同时在该组里增加hadoop用户,后续在涉及到hadoop操作时,我们使用该用户. 1.创建hadoop用户组 2.创 ...
- [原创作品] Express 4.x 接收表单数据
好久没有写博客,从现在开始,将介绍用nodejs进行web开发的介绍.欢迎加群讨论:164858883. 之前的express版本在接收表单数据时,可以统一用res.params['参数名'],但在4 ...
- Android项目中gen文件下R文件无法生成的解决的方法
帮一个网友解决R文件无法生成的问题,搜集了些材料特整理例如以下,刚開始学习的人參考他人代码时极易出现此种问题,一般都是xml文件出错,无法被正确解析. gen文件夹无法更新,或者gen文件夹下的R.J ...
- Cocos2d-x3.0游戏实例之《别救我》第二篇——创建物理世界
这篇我要给大家介绍两个知识点: 1. 创建游戏物理世界 2. 没了(小若:我噗) 害怕了?不用操心.这太简单了~! 笨木头花心贡献.啥?花心?不呢.是用心~ 转载请注明,原文地址:http://www ...
- ngui点击与场景点击判断
注:NGUI 组件上加上 BoxCollider 并设置区域大小 public void OnMouseDown() { if (UICamera.hoveredObject == null) ...
- IOS 6.0+ Autolayout — UITableViewCell 高度调整
要实现的效果 要求: storyboard上的准备工作 建好cell自定义AutoCell 类,关联好控件,事先准备好一些数据源 实现tableview的委托方法 核心部分,HeightForRow方 ...
- asp.net操作xml(增删查改)
asp.net操作xml 1.xml文档Products.xml <?xml version="1.0" encoding="utf-8"?> &l ...
- .NET 4.0 兼容 .NET 2.0 的方法
使用.net开发桌面应用,广大亲门最头疼的莫过于客户端部署的问题.基于.net 2.0 的winfrom程序因为 Framework 的分发包大小为20M左右还好解决,不幸的是如果项目中使用了Wcf, ...
- (转)[老老实实学WCF] 第二篇 配置WCF
第二篇 配置WCF 在上一篇中,我们在一个控制台应用程序中编写了一个简单的WCF服务并承载了它.先回顾一下服务端的代码: using System; using System.Collections. ...
- Eclipse汉化后怎么改回英文版 (中文 改 英文)
Eclipse汉化后怎么改回英文版(可切换中英文) 很多朋友将MyEclipse汉化后还想改回英文的,其实只要修改MyEclipse的配置文件就可以了,这里我以MyEclipse7.0为例演示一下如何 ...