我有一个使用PyKDE4的KStatusNotifierItem的applet。在Arch Linux中,版本本身(Qt - 4.8.4,KDE开发平台 - 4.9.5)取自kde4-config -v,它可以工作。
然而,在Kubuntu 12.10版本(Qt - 4.8.3,KDE开发平台 - 4.9.98)中,它不起作用。有人能指出我如何调试它吗?
以下是代码示例。
#!/usr/bin/python2
# -*- coding: utf-8 -*-
import sys
from PyQt4 import Qt
from PyQt4.QtCore import QObject, QString
from PyKDE4.kdeui import KStatusNotifierItem
App = Qt.QApplication(sys.argv)
class Notifier(QObject):
def __init__(self, parent=None):
QObject.__init__(self, parent)
self.tray = KStatusNotifierItem(self)
self.tray.setCategory(KStatusNotifierItem.Communications)
self.tray.setIconByName(QString("/usr/share/icons/oxygen/16x16/categories/applications-internet.png"))
self.tray.setStatus(KStatusNotifierItem.Active)
self.tray.setToolTipIconByName(QString("/usr/share/icons/oxygen/16x16/categories/applications-internet.png"))
if __name__ == '__main__':
notifer = Notifier()
App.exec_()
感谢。
答案 0 :(得分:2)
我也在bugs.kde.org,中报告了这一点,他们找到了解决方案。基本上,行self.tray = KStatusNotifierItem(self)
需要更改为self.tray = KStatusNotifierItem("someID", self)
。