# -*- 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. 自定义checkbox样式

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. hdu1429之BFS

    胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total S ...

  3. 仿糯米弹框效果demo

    代码例如以下: <!doctype html> <html lang="en"> <head> <meta charset="U ...

  4. mogodb亿万级数据性能測试

    本机 i7四核 8G 废话少说 mogodb 最像sql的nosql 使用批量插入一次20万循环10次总共200万数据用时65秒(尝试一次50万只是报内存溢出了,原因未知) 插入2000万数据用时10 ...

  5. css画下图

    通常我看到这种效果,都是直接ps解决,但是不断重申性能的今天,显然不适应时代的需求啊! 今天看到群里有人问这种效果怎么做了,我在思考的时候,有人已经给出答案了: 我就测试了一下,发现确实可以实现,总结 ...

  6. vb将窗体中的控件或某种颜色透明

    Option Explicit ' ******************** 窗体透明 ******************** '***Module.bas '**** Public Declare ...

  7. NPOI导入导出Excel

    .net mvc利用NPOI导入导出excel 注意:如何导出的提交方式ajax导出是失效的! 解决方案是:js处理l两个表单的提交  代码:  第一步. 在页面里面加入2个隐藏的iframe, 如下 ...

  8. paip.使用WORD进行拆分段落单个汉字转表格.txt

    paip.使用WORD进行拆分段落单个汉字转表格.txt 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn ...

  9. 慕课linux学习笔记(六)常用命令(3)

    Find 命令 #搜索文件 Find [搜索范围] [搜索条件] e.g. find / -name isnstall.log 搜索速度会非常慢 避免大范围搜索,会非常耗费系统资源 Find是在系统当 ...

  10. setTimeout与setInterval方法的区别

    setTimeout与setInterval方法的区别 setTimeout()用于设定在指定的时间之后执行对应的函数或代码.,在全局作用域下执行 setTimeout(code,time[,args ...