IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PyQt Python Discussion :

Application minimisée dans la zone de notification


Sujet :

PyQt Python

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 195
    Points : 156
    Points
    156
    Par défaut Application minimisée dans la zone de notification
    Bonjour

    Je cherche à réaliser une petite application lancée comme un antivirus, qui donne des alertes à certaines conditions (arrivée d'un nouveau fichier dans un dossier spécifié par exemple).
    Cette appli ne doit pas être invasive, ne pas prendre le focus quand une alerte se déclenche avec un petit popup discret, un peu à l'image d'un antivirus ou d'un mailer.

    1er problème : réduire une fenêtre qt dans les icônes de la zone de notification (sous windows7)
    2e problème : apparaître des messages (widgets) en cas d'alerte. Est ce que lors de l'affichage le focus ne se mettra pas dessus? (ce que je ne souhaite pas.)

    Avez vous une piste, un semblant de code,.. sur ce genre d'appli?

    merci

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Il y a pynotify, très basique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    >>> import pynotify
    >>> pynotify.init('Python')
    True
    >>> n = pynotify.Notification('Python', 'Notification')
    >>> n.show()
    True
    on peut ajouter une image en troisième argument.

    Et puis il existe py-notify peut-être plus proche de ce que tu cherches:

    https://pypi.python.org/pypi/py-notify

  3. #3
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Citation Envoyé par Nico_tournai Voir le message
    Avez vous une piste, un semblant de code,.. sur ce genre d'appli?
    J'ai fait un truc comme ça sous Windows (XP, 7 et 8).

    J'ai une icône dans la zone de notification qui se charge au boot (j'ai mis un raccourci du code de lancement dans le répertoire Windows approprié).

    Si je clique dessus, il vient une fenêtre QWidget dans laquelle s'exécute l'interpréteur Python dans un QTextEdit (comme dans idle). Je peux faire des calculs assez poussés, parce qu'au lancement, l'interpréteur importe des modules à moi qui enrichissent les fonctions de base.

    Quand j'ai fini, je clique sur la croix rouge de la fenêtre et la fenêtre disparait (hide et pas close!). Si je re-clique sur l'icône, la fenêtre réapparait, en ayant gardé les calculs précédents.

    Je suis vraiment très satisfait de ça, et je m'en sert quasiment tous les jours: c'est beaucoup plus puissant qu'une calculette.

    Sur le principe du QSystemTrayIcon, J'ai fait un tuto ici:

    http://python.jpvweb.com/mesrecettes...t4_system_tray

    Il commence à dater un peu (Python 2.7): il faut que je le modernise. Mais j'ai aussi le code en Python 3 puisque c'est lui qui tourne en ce moment.

    Ce n'est pas exactement ton projet, mais il y a des parties communes.

    C'était un projet intéressant: n'hésite pas à poser des questions: ça pourrait m'intéresser de compléter cette technique avec d'autres possibilités comme les tiennes.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2009
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2009
    Messages : 195
    Points : 156
    Points
    156
    Par défaut
    Merci pour vos retours

    La solution de Tyrtamos me convient bien, travaillant avec PyQt je privilégie cette solution.

    Beau travail Tyrtamos, c est hyper bien documenté! Ca aide grandement
    Je vais adapter ton script à ma sauce en y mettant un timer pour surveiller un dossier spécifié pour avoir une alerte en cas de nouveau fichier.

    J'aurais aimé faire apparaître un widget à la place d'un tooltip, apparemment la docu de QSystemTrayIcon ne le permet pas.. mais je ferais avec un tooltip

    Je reviendrais peut être sur ce sujet ci plus tard

    Merci à vous

Discussions similaires

  1. Réduire son application dans la zone de notification
    Par K3nJi dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 05/02/2010, 15h24
  2. comment lancer mon application dans la zone de notification
    Par zanoubya dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 29/10/2009, 19h02
  3. [vb6]Application dans la zone de notification
    Par bailamos dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/04/2007, 22h56
  4. Réponses: 5
    Dernier message: 07/04/2007, 16h09
  5. [CODE] Application dans la zone de notification
    Par Rodrigue dans le forum C++Builder
    Réponses: 4
    Dernier message: 29/05/2003, 19h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo