我写了一个简单的类来通知用户使用托盘气球消息。这是代码:
# -*- coding: utf8 -*-
import sys
import time
from PyQt4 import QtGui
class TrayInformer():
def __init__(self, icon_file):
self.app = QtGui.QApplication(sys.argv)
self.app.setQuitOnLastWindowClosed(False)
self.tray_icon = QtGui.QSystemTrayIcon(
QtGui.QIcon(icon_file)
)
def notify(self, title, message, wait_time=1000):
self.tray_icon.show()
self.tray_icon.showMessage(title, message)
time.sleep(wait_time / 1000)
self.tray_icon.hide()
inf = TrayInformer('timeico.ico')
inf.notify('Error', 'Connection refused', 5000)
inf.notify('test', 'test', 500)
运行后我有时得到:Process finished with exit code -1073741819 (0xC0000005)
。可能是什么问题?
答案 0 :(得分:1)
尝试使用指定的父实例化QSystemTrayIcon。我退出时出现类似随机崩溃的情况,令人惊讶的是托盘图标似乎导致问题
< ...>问题可能是C ++的随机顺序 实例被破坏了。明确地定义一个对象,或给它一个合适的父对象是处理它的最佳方法。 QSystemTrayIcon still crashed app (PyQt4 4.9.1)