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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?