タスクトレイを表示

2017/09/30

Python2.7.8, PySide1.2.2

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

import sys
from PySide import QtCore,QtGui

class MainWindow(QtGui.QMainWindow):
    def __init__(self, parent = None):
        super(MainWindow, self).__init__(parent)

        # タスクトレイメニュー
        self.quitAction = QtGui.QAction(u'&終了', self)
        self.connect(self.quitAction, QtCore.SIGNAL('triggered()'), QtGui.qApp, QtCore.SLOT('quit()'))
        self.quitAction.triggered.connect(self.closeTray)

        # 終了メニューと終了アクションをリンク
        self.trayIconMenu = QtGui.QMenu(self)
        self.trayIconMenu.addAction(self.quitAction)

        # アイコン設定
        self.trayIcon = QtGui.QSystemTrayIcon(self)
        self.trayIcon.setContextMenu(self.trayIconMenu)
        icon = self.style().standardIcon(QtGui.QStyle.SP_FileDialogInfoView)
        self.trayIcon.setIcon(icon)

        # トレイを表示
        self.trayIcon.show()

    def closeTray(self):
        QtGui.qApp.quit()

    def closeEvent(self, event):
        QtGui.qApp.quit()

def main():
    app = QtGui.QApplication(sys.argv)
    if not QtGui.QSystemTrayIcon.isSystemTrayAvailable():
        raise OSError('Can not use system tray on this system !')
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()


アレのチェッカーアプリ
http://woodboy644.hatenablog.com/entry/2013/07/30/001910