python 系统托盘_python-单击菜单项时退出pyqt系统托盘图标

博主作为Python和PyQt新手,编写了一个系统托盘程序。但单击“关于”关闭对话框后应用程序会退出,博主不知原因,并给出了简单代码示例,代码使用Python和PyQt4实现系统托盘相关功能。

我是python和pyqt的新手,我今天学习它们,并写了一个小系统托盘恶魔,

它运行,但是当我单击“关于”,然后关闭对话框时,应用程序退出.

我不知道为什么

简单代码如下:

import sys

from PyQt4 import QtGui

class SystemTrayIcon(QtGui.QSystemTrayIcon):

def __init__(self, icon, parent=None):

QtGui.QSystemTrayIcon.__init__(self, icon, parent)

self.menu = QtGui.QMenu(parent)

# about action

aboutAction = QtGui.QAction("About", self)

aboutAction.triggered.connect(self.about_fun)

self.menu.addAction(aboutAction)

# quit action

quitAction = QtGui.QAction("Quit", self)

quitAction.triggered.connect(self.quit_fun)

self.menu.addAction(quitAction)

#

self.setContextMenu(self.menu)

# listen activated

self.activated.connect(self.iconActivated)

def about_fun(self):

QtGui.QMessageBox.about(self.parent(), "about", "pyqt system tray")

def quit_fun(self):

sys.exit(0)

def iconActivated(self, reason):

if reason == QtGui.QSystemTrayIcon.Trigger:

print 'left click: TODO'

def main():

app = QtGui.QApplication(sys.argv)

trayIcon = SystemTrayIcon(QtGui.QIcon("trash.svg"))

trayIcon.show()

sys.exit(app.exec_())

if __name__ == '__main__':

main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值