# -*- 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. Web Service-- 使用 JDK 发布 WS

    Web Service,即“Web 服务”,简写为 WS,从字面上理解,它其实就是“基于 Web 的服务”.而服务却是双方的,有服务需求方,就有服务提供方.服务提供方对外发布服务,服务需求方调用服务提 ...

  2. [Redux] Passing the Store Down Implicitly via Context

    We have to write a lot of boiler plate code to pass this chore down as a prop. But there is another ...

  3. Swift 2.0 封装图片折叠效果

    文/猫爪(简书作者)原文链接:http://www.jianshu.com/p/688c491580e3著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 用Swift封装图片折叠效果 b ...

  4. public,private,protected的区别

    一,public,private,protected的区别public:权限是最大的,可以内部调用,实例调用等.protected: 受保护类型,用于本类和继承类调用.private: 私有类型,只有 ...

  5. UIWindow in iOS

    这篇文章,我将分享对UIWindow我所知道的东西. keyWindow 一个应用能够有许多UIWindow,“The key window”是其中一个,被设计用来接受键盘和其他与点击无关的事件.一个 ...

  6. C# 大小写转换

    全部大写: string upper = str.ToUpper() 全部小写: string lower = str.ToLower(); str是需要转换的字符.

  7. RDLC报表上下标实现

    例:m的6次方 ="M"&ChrW(8310) Character Name Character Num Entity Hex Entity Superscript Cha ...

  8. 修饰器模式(day04)

    修饰器设计模式 --最近我给女朋友买了一款可以更换外壳的手机.现在的外壳是红色的,假如我想用这款手机的时候,会更换成银灰色的外壳.但是我不能随意更换天线或者话筒,因为这些功能模块在手机生产的时候就已经 ...

  9. 我的django之旅(四)模型,模板和视图

    一.结合模型,视图和模板 1.数据和模板结合 基本工作流程: (1)在views.py文件中导入我们创建的models (2)在视图函数中使用models,进行crud操作. (3)将取得的数据存入t ...

  10. VMware 虚拟机使用RedHat,出现 connect: Network is unreachable解決方法

    http://www.linuxidc.com/Linux/2015-02/113119.htm http://www.osyunwei.com/archives/7829.html