KStatusNotifierItem无法在较新版本的KDE 4中使用

时间:2013-02-07 07:15:04

标签: python pyqt kde pykde

我有一个使用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_()

感谢。

1 个答案:

答案 0 :(得分:2)

我也在bugs.kde.org,中报告了这一点,他们找到了解决方案。基本上,行self.tray = KStatusNotifierItem(self)需要更改为self.tray = KStatusNotifierItem("someID", self)