zoukankan      html  css  js  c++  java
  • 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("imageslogo.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_()

  • 相关阅读:
    animation循环滚动
    <canvas>简单学习
    月末总结
    回顾-总结(2)
    初识正则
    学习中小项目遇到事
    在炎热的夏天学习以提高效率
    前端存储之cookie、localStorage
    总结(1)
    jQuery
  • 原文地址:https://www.cnblogs.com/doudongchun/p/3694791.html
Copyright © 2011-2022 走看看