cx_freeze构建的应用程序没有在Windows 7中显示系统托盘图标

时间:2012-10-15 17:28:37

标签: python windows-7 pyqt4 cx-freeze systray

我使用PyQt和cx_freeze构建了一个带有系统托盘图标的应用程序,但是该图标没有显示在Windows 7的系统托盘中(应用程序在那里并且正在运行,但只是一个空白点 - 没有图标)。现在它在其他计算机上的Windows XP中运行良好,只是不在win 7.任何想法?

1 个答案:

答案 0 :(得分:0)

icon = QtGui.QIcon('blah.png')
self.tray_icon = QtGui.QSystemTrayIcon(self)
self.tray_icon.setIcon(icon)
self.tray_icon.setVisible(True)
self.tray_icon.show()

这应该有效。但是在win XP中看起来你只需要" self.tray_icon.setIcon(icon)" 而不是" .setVisible(True)"或" .show()"为了它的工作,这是我遇到的问题。我还创建了一个继承QtGui.QApplication的类,并添加了:

icon = QtGui.QIcon('blah.png')
self.setWindowIcon(icon)

不幸的是我不知道上面究竟解决了什么问题,因为我没有赢得7台计算机的个性测试,所以我做了霰弹枪的方法而且它有效。