0

我有一个使用 PyKDE4 的 KStatusNotifierItem 的小程序。在从 kde4-config -v 获取的版本(Qt - 4.8.4,KDE 开发平台 - 4.9.5)的 Arch Linux 中,它可以工作。

但是,在带有版本(Qt - 4.8.3,KDE 开发平台 - 4.9.98)的 Kubuntu 12.10 中,它不起作用。谁能指出我如何调试它?

这是代码的示例。

#!/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_()

谢谢。

4

1 回答 1

2

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

于 2013-02-08T08:30:16.477 回答