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

Tkinter Python Discussion :

Info Bulle en TKInter [Fait]


Sujet :

Tkinter Python

  1. #1
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 549
    Points : 243
    Points
    243
    Par défaut Info Bulle en TKInter
    Bonjour,
    Je cherche à créer une info bulle lorsque ma souris se déplace sur un objet
    Est-ce que quelqu'un aurait un script là-dessus.
    Merci

  2. #2
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    il faut utiliser la bibliothèque Tix

    http://python.developpez.com/faq/?pa...n#TixInfoBulle

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    Ou Pmw, il y a le widget "Balloon".
    http://doc.async.com.br/PMW/Balloon.html

  4. #4
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 549
    Points : 243
    Points
    243
    Par défaut
    Oui mais je souhaite le faire en pur TKInter.
    Est-ce au moins possible ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    A ma connaissance, non.

  6. #6
    Membre averti
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Points : 388
    Points
    388
    Par défaut
    Je pense que c'est possible si c'est toujours sur le même type d'objet que tu veux ton info-bulle (ex Button).
    Tu peux créer une classe dérivée de Button qui affiche un Toplevel lorsque tu laisse la souris dessus ...
    Il est quand même plus simple d'utiliser Tix...

  7. #7
    Membre averti
    Homme Profil pro
    Responsable du parc et des réseaux de télécommunication
    Inscrit en
    Mai 2003
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable du parc et des réseaux de télécommunication
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2003
    Messages : 290
    Points : 388
    Points
    388
    Par défaut
    Voici une classe "infobulle"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    # -*- coding: ISO-8859-1 -*-
    import Tkinter as tk
     
    class infoBulle(tk.Toplevel):
    	def __init__(self,parent=None,texte='',temps=1000):
    		tk.Toplevel.__init__(self,parent,bd=1,bg='black')
    		self.tps=temps
    		self.parent=parent
    		self.withdraw()
    		self.overrideredirect(1)
    		self.transient()     
    		l=tk.Label(self,text=texte,bg="yellow",justify='left')
    		l.update_idletasks()
    		l.pack()
    		l.update_idletasks()
    		self.tipwidth = l.winfo_width()
    		self.tipheight = l.winfo_height()
    		self.parent.bind('<Enter>',self.delai)
    		self.parent.bind('<Button-1>',self.efface)
    		self.parent.bind('<Leave>',self.efface)
    	def delai(self,event):
    		self.action=self.parent.after(self.tps,self.affiche)
    	def affiche(self):
    		self.update_idletasks()
    		posX = self.parent.winfo_rootx()+self.parent.winfo_width()
    		posY = self.parent.winfo_rooty()+self.parent.winfo_height()
    		if posX + self.tipwidth > self.winfo_screenwidth():
    			posX = posX-self.winfo_width()-self.tipwidth
    		if posY + self.tipheight > self.winfo_screenheight():
    			posY = posY-self.winfo_height()-self.tipheight
    		#~ print posX,print posY
    		self.geometry('+%d+%d'%(posX,posY))
    		self.deiconify()
    	def efface(self,event):
    		self.withdraw()
    		self.parent.after_cancel(self.action)
     
    if __name__ == '__main__':
    	root = tk.Tk()
    	lab1=tk.Label(root,text='Infobulle 1')
    	lab1.pack()
    	lab2=tk.Label(root,text='Infobulle 2')
    	lab2.pack()
    	i1 = infoBulle(parent=lab1,texte="Infobulle 1")
    	i2= infoBulle(parent=lab2,texte="Infobulle 2")
    	root.mainloop()
    A +

  8. #8
    Membre actif
    Inscrit en
    Novembre 2003
    Messages
    549
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 549
    Points : 243
    Points
    243
    Par défaut
    Après test, ça ressemble à ce que je désire.
    Il ne me reste plus qu'à essayer de comprendre ce qui se passe.
    Merci beaucoup

  9. #9
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : Réunion

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2020
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par enicnath Voir le message
    Oui mais je souhaite le faire en pur TKInter.
    Est-ce au moins possible ?
    Bonjour,

    Je te propose de consulter ce tuto youtube qui décrit les étapes de création d'une info bulle en pur tkinter :

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Info-bulles ?
    Par Neilos dans le forum Windows
    Réponses: 3
    Dernier message: 05/09/2006, 16h21
  2. [C#] [Win forms] Info bulle sur bouton
    Par RobinJulie dans le forum Windows Forms
    Réponses: 4
    Dernier message: 25/11/2004, 17h12
  3. Info bulle sur un TImage
    Par Dauphin dans le forum C++Builder
    Réponses: 4
    Dernier message: 30/09/2004, 14h56
  4. [BPW] Programmation d'info-bulles
    Par Alcatîz dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 15/05/2004, 19h14
  5. Réponses: 3
    Dernier message: 11/03/2004, 17h11

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