# -*- coding: cp936 -*-

#!/usr/bin/env python

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

from PyQt4 import QtCore, QtGui

class Window(QtGui.QMainWindow):

def __init__(self):

super(Window, self).__init__()

self.setWindowTitle(u"托盘")

icon = QtGui.QIcon("images/diamond.ico")

self.setWindowIcon(icon)

self.isTopLevel()

self.trayIcon = QtGui.QSystemTrayIcon(self)

self.trayIcon.setIcon(icon)

self.trayIcon.show()

self.trayIcon.activated.connect(self.trayClick) #点击托盘

self.trayIcon.setToolTip(u"托盘小程序") #托盘信息

self.Menu() #右键菜单

def Menu(self):

self.minimizeAction = QtGui.QAction(u"最小化", self,triggered=self.hide)

self.maximizeAction = QtGui.QAction(u"最大化",self,triggered=self.showMaximized)

self.restoreAction = QtGui.QAction(u"还原", self,triggered=self.showNormal)

self.quitAction = QtGui.QAction(u"退出", self,triggered=QtGui.qApp.quit)

self.trayIconMenu = QtGui.QMenu(self)

self.trayIconMenu.addAction(self.minimizeAction)

self.trayIconMenu.addAction(self.maximizeAction)

self.trayIconMenu.addAction(self.restoreAction)

self.trayIconMenu.addSeparator() #间隔线

self.trayIconMenu.addAction(self.quitAction)

self.trayIcon.setContextMenu(self.trayIconMenu) #右击托盘

def closeEvent(self, event):

if self.trayIcon.isVisible():

self.hide()

event.ignore()

def trayClick(self,reason):

if reason==QtGui.QSystemTrayIcon.DoubleClick: #双击

self.showNormal()

elif reason==QtGui.QSystemTrayIcon.MiddleClick: #中击

self.showMessage()

else:

pass

def showMessage(self):

icon=QtGui.QSystemTrayIcon.Information

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

if __name__ == '__main__':

import sys

app = QtGui.QApplication(sys.argv)

frm = Window()

frm.show()

sys.exit(app.exec_())

如图:

pyqt最小化学习的更多相关文章

  1. 大神为你分析 Go、Java、C 等主流编程语言(Go可以替代Java,而且最小化程序员的工作量,学习比较容易)

    本文主要分析 C.C++98.C++11.Java 与 Go,主要论述语言的关键能力.在论述的过程中会结合华为各语言编程专家和华为电信软件内部的骨干开发人员的交流,摒弃语言偏好或者语言教派之争,尽量以 ...

  2. 【架构】从instagram学习最小化IT是怎么做的

    Keep it very simple (极简主义) Don't re-invent the wheel (不重复发明轮子) Go with proven and solid technologies ...

  3. 【C#学习笔记】窗口隐藏、最小化、最大化、正常化

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  4. PyQt:无边框自定义标题栏及最大化最小化窗体大小调整

    环境 Python3.5.2 PyQt5 陈述 隐藏掉系统的控制栏,实现了自定义的标题控制栏,以及关闭/最大化/最小化的功能,自由调整窗体大小的功能(跟随一个大佬学的),代码内有详细注释 只要把Mai ...

  5. Linux学习笔记之Linux最小化安装启动后如何配置

    在VM虚拟机中安装CentOS 7 时 有时候顾虑到电脑硬件性能,我们需要最小化安装,而最小化安装后与centos6的版本是有一些差异的,接下来我们就对刚安装好的最小化centos7做一些操作,来世我 ...

  6. 【深入学习linux】CentOS 7 最小化安装后的注意事项及一些必备组件的安装

    转载:https://blog.csdn.net/F_Srion/article/details/54910943 在VM虚拟机中安装CentOS 7 时 有时候顾虑到电脑硬件性能,我们需要最小化安装 ...

  7. PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性不起作用的问题解决办法

    在<PyQt(Python+Qt)学习随笔:布局控件layout的layoutSizeConstraint属性>中介绍layout的layoutSizeConstraint属性后,反复测试 ...

  8. (MTT)连续能量函数最小化方法

    (MTT)连续能量函数最小化方法 Multitarget tracking Multi-object tracking 连续能量函数 读"A.Milan,S. Roth, K. Schind ...

  9. 手把手教你搭建SpringMVC——最小化配置

    为什么需要Spring MVC 最开始接触网页的时候,是纯的html/css页面,那个时候还是用Dreamweaver来绘制页面. 随着网站开发的深入,开始学习servlet开发,记得最痛苦的就是se ...

随机推荐

  1. Bootstrap--本地安装使用

    1.到官网下载:http://v2.bootcss.com 2.下载后是一个压缩文件,把它放在相应的工作目录下,然后解压. 3.新建一个测试文件,然后导入两个文件.

  2. PHP设计模式笔记七:观察者模式 -- Rango韩老师 http://www.imooc.com/learn/236

    观察者模式 概述: 1.观察者模式(Observer),当一个对象状态发生改变时,依赖他的对象全部会收到通知,并自动更新 2.场景:一个事件发生后,要执行一连串更新操作,传统的编程方式,就是在事件的代 ...

  3. storm启动流程

    email:chenguibin2004@126.com storm: 是一个分布式的实时流式计算框架,具有低延迟.高可用.分布式.可扩展.数据不丢失的特点, storm包含四个核心组件: Nimbu ...

  4. 使用Dataset

    string sqlStr="Select * from Tb_news"; SqlDataAdapter myDa=new SqlDataAdapter(SqlStr,myCon ...

  5. hdu 素数环

    算法:搜索 题意:相邻的两个数之和是素数,别忘了最后一个,和第一个 Problem Description A ring is compose of n circles as shown in dia ...

  6. Linux知识扫盲

    1.发现linux中好多软件以d结尾,d代表什么? d 代表 deamon 守护进程守护进程是运行在Linux服务器后台的一种服务程序.现在比较常用 是 service 这个词.它周期性地执行某种任务 ...

  7. 初学QML之qmlRegisterType

    qmlRegisterType 是一个可以将C++实现的类在QML中调用的,连接C++和QML的一个工具 首先来看QtAssistant的介绍 int qmlRegisterType(const ch ...

  8. CentOS FTP服务器权限控制

    在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患.可以通过以下三条配置文件来控制用户切换目录. chroot_list_enable=YES/NO(NO) 设 ...

  9. wind7下搭建ftp服务器

    一.首先在本地机器上创建一个用户!这些用户是用来登录到FTP的!我的电脑右键->控制面板->管理工具->计算机管理->本地用户和组->用户->“右键”新建用户-&g ...

  10. Hadoop集群日常运维

    (一)备份namenode的元数据 namenode中的元数据非常重要,如丢失或者损坏,则整个系统无法使用.因此应该经常对元数据进行备份,最好是异地备份. 1.将元数据复制到远程站点 (1)以下代码将 ...