Bonjour à tous.

Je cherche à faire une appli qui enverra une KNotification quand certains évènements se produiront, dans un programme externe.

J'ai vu comment envoyer une notification en utilisant dbus. Cependant, je cherche plutôt à le faire tel que c'est indiqué dans la doc (http://api.kde.org/pykde-4.3-api/kde...ification.html)

J'ai le code suivant :

Code :
1
2
3
4
5
6
7
 
# -*- coding: utf-8 -*-
from PyQt4.QtGui import QWidget, QPixmap
from PyQt4.QtCore import QString
from PyKDE4.kdeui import KApplication, KNotification
from PyKDE4.kdecore import ki18n, KAboutData, KCmdLineArgs
import sys
Le bloc qui va suivre n'est pas important (méta-données d'une appli KDE)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
appName     = "KApplication"
catalog     = ""
programName = ki18n ("KApplication")
version     = "1.0"
description = ki18n ("KApplication/KMainWindow/KAboutData example")
license     = KAboutData.License_GPL
copyright   = ki18n ("(c) 2007 Jim Bublitz")
text        = ki18n ("none")
homePage    = "www.riverbankcomputing.com"
bugEmail    = "jbublitz@nwinternet.com"
 
aboutData   = KAboutData (appName, catalog, programName, version, description, license, copyright, text, homePage, bugEmail)
KCmdLineArgs.init (sys.argv, aboutData)
Le vrai "travail" vient ici :
Code :
1
2
3
4
5
6
7
8
9
10
 
app = KApplication()
a = QWidget()
b = KNotification(QString("Notification"),a)
b.setTitle("Flashmail Recu")
b.setText("Machin a envoyé un fm")
b.setFlags(b.NotificationFlags(0x02))
b.sendEvent()
 
sys.exit(app.exec_())
Non seulement ce code ne s'arrête pas de lui même (il faut que je tue le processus), mais en plus il n'envoie pas la notification.

Quelqu'un aurait-il une idée de la raison pour laquelle il agit comme ça ?