PYQT窗口托盘目录

#UI.py,通过UI设计师制作后直接转换为UI.py脚本

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

from PyQt4 import QtCore, QtGui

try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    _fromUtf8 = lambda s: s

class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName(_fromUtf8("Form"))
        Form.resize(400, 300)

self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

def retranslateUi(self, Form):
        Form.setWindowTitle(QtGui.QApplication.translate("Form", "Form", None, QtGui.QApplication.UnicodeUTF8))

#UI.py,可视化UI.py

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

from PyQt4 import QtCore, QtGui, Qt
from UI import *

class MainWindow(QtGui.QMainWindow):

def __init__(self,parent=None):

QtGui.QWidget.__init__(self,parent)
        self.ui=Ui_Form()
        self.ui.setupUi(self)

#显示托盘图标
        self.trayIcon = QtGui.QSystemTrayIcon(self)
        self.trayIcon.setIcon(QtGui.QIcon("images/logo.png"))
        self.trayIcon.show()
        #双击托盘信号槽
        self.trayIcon.activated.connect(self.trayClick)
        #激活右键托盘菜单
        self.trayMenu()

#定义双击托盘事件
    def trayClick(self,reason):

if reason==QtGui.QSystemTrayIcon.DoubleClick:
           self.showNormal()
       else:
           pass

#创建右击托盘菜单
    def trayMenu(self):

#托盘提示信息
        self.trayIcon.setToolTip("托盘测试软件")
        #菜单项1
        img_open = QtGui.QIcon("images\logo.png")
        self.restoreAction = QtGui.QAction(img_open,"打开主窗口", self)
        self.restoreAction.triggered.connect(self.showNormal)
        #菜单项2
        self.quitAction = QtGui.QAction("退出", self)
        self.quitAction.triggered.connect(QtGui.qApp.quit)
        #创建托盘目录
        self.trayIconMenu = QtGui.QMenu(self)
        self.trayIconMenu.addAction(self.restoreAction)
        self.trayIconMenu.addSeparator()#添加分隔线
        self.trayIconMenu.addAction(self.quitAction)
        #设置目录为创建的目录
        self.trayIcon.setContextMenu(self.trayIconMenu)

if __name__ == "__main__":

import sys

app = QtGui.QApplication(sys.argv)
    myapp=MainWindow()
    myapp.show()
    app.exec_()

PYQT窗口托盘目录,布布扣,bubuko.com

时间: 2024-10-09 17:09:05

PYQT窗口托盘目录的相关文章

PYQT窗口居中

#UI.py,通过UI设计师制作后直接转换为UI.py脚本 # -*- coding: utf-8 -*-from PyQt4 import QtCore, QtGui try:    _fromUtf8 = QtCore.QString.fromUtf8except AttributeError:    _fromUtf8 = lambda s: s class Ui_Form(object):    def setupUi(self, Form):        Form.setObject

PYQT窗口风格

setWindowFlags(Qt.WindowFlags)函数,Qt.WindowFlags类如下: 1.窗口类型 Qt.Qt.Widget#插件默认窗口,有最小化.最大化.关闭按钮 Qt.Qt.Window#普通窗口,有最小化.最大化.关闭按钮 Qt.Qt.Dialog#对话框窗口,有问号和关闭按钮 Qt.Qt.Popup#弹出窗口,窗口无边框化 Qt.Qt.ToolTip#提示窗口,窗口无边框化,无任务栏窗口 Qt.Qt.SplashScreen#飞溅屏幕,窗口无边框化,无任务栏窗口 Qt

Pyqt QSystemTrayIcon 实现托盘效果

pyqt的托盘效果很好实现,在Pyqt的demo中有个例子 路径:PyQt4\examples\desktop\systray.py 今天我就仿这个Tray效果做效果 一. 创建UI trayicon.ui文件: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <ui version="4.0"> 3 <class>TrayIcon</class> 4 <

MAC终端命令行下用sublime、vscode、atom打开文件或目录

要知道,有时候一些小技巧,能极大的加大我们的工作效率. 在MAC下开发,用的最多的还是终端,我的终端环境是iterm2+ohmyzsh:步入正题前先给大家介绍几个小技巧: 第一个: 打开findle,然后找到我的项目目录,然后我用安装好的Go2shell打开当前目录的终端.如下: 说实话,很方便,总比先打开终端然后一步一步cd进去好多了.相信很多人都知道这个东西,不知道的自己搜名字去下载把. 第二个: 相信大家都会打开不止一个终端窗口,大家是不是这样做的:command+T或者comman+D,

java selenium (十二) 操作弹出窗口

selenium 中如何处理弹出窗口 阅读目录 原理 在代码里, 通过         Set<String> allWindowsId = driver.getWindowHandles(); 来获取到所有弹出浏览器的句柄,   然后遍历,  使用swithcto.window(newwindow_handle)方法. 就可以定位到新的窗口 测试页面的HTML <html> <head> <title>常见web ui元素操作, 及API使用</ti

Qt之自定义托盘(二)

上一篇文章讲述了自定义Qt托盘,不过不是使用QSystemTrayIcon这个类,而是我们自己完全自定义的一个类,我们只需要处理这个类的鼠标hover.鼠标左键点击.鼠标右键点击和鼠标左键双击,就可以完全模拟出qq的托盘样式来.文章的最后我也是提供了一个demo的下载链接,那是一个可以完全运行的demo,处理了鼠标hover事件,并模拟出了鼠标离开和进入事件,这一节我将一步一步讲解怎么实现一个完美的托盘,包括托盘菜单的显示.托盘tooltip和托盘hover时的弹框显示. 看本片文章之前,同学们

TCmklink | TC目录联接菜单

分类: TC 插件    版本: 0.0.1    发布日期: 2015-12-04 用于 Total Commander(以下简称 TC)的自定义开始菜单中,为当前活动窗口中唯一选择的目录或焦点目录创建目录联接(即软链接),联接的路径位于 TC 的非活动窗口所在目录下,仅需设置联接名称. 功能简介 本程序需要配合 TC 的自定义开始菜单. 安装使用方法: 将 TCmklink.exe 放在任意目录下 点击 TC 主菜单“开始” -> “更改开始菜单” -> 在弹出窗口中点击右侧“添加项目”

系统托盘

为程序添加系统托盘1:创建菜单资源 ID: IDR_MENU_NOTIFY2:添加子菜单 显示 IDM_NOTIFY_SHOW 退出 IDM_NOTIFY_CLOSE 3:查看MSDN Shell_NotifyIcon BOOL Shell_NotifyIcon( //向系统托盘中加入图标 DWORD dwMessage, //状态 PNOTIFYICONDATA lpdata //含有图标 消息响应 的一个结构体); 4:认识NOTIFYICONDATA 结构体: typedef struct

IDEA如何像eclipse中一个窗口打开多个项目

1.新建一个文件夹,把你要打开的所有项目放到这个文件夹中. 2.点击左上角的file  > open弹出一个窗口让你打开目标文件 3.在窗口的目录中找到刚才新建的文件夹 点OK 4.打开后之前新建的那个文件夹下的所有项目都会在同一个窗口显示