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 :

texte cliquable


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    prof d'histoire ?!?
    Inscrit en
    Février 2015
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : prof d'histoire ?!?

    Informations forums :
    Inscription : Février 2015
    Messages : 22
    Par défaut texte cliquable
    Bonjour à tous,

    J'ai créer une petite appli pour trouver des mots au scrabble. En voulant rajouter une fonctionnalité (faire une recherche de mots inconnus sur Wiktionnaire ), je me retrouve face à un problème.
    Dans un boucle je liste mes mots dans widget 'Text' et j'aimerais que chaque mot pointe vers sa définition online. Je vous montre le code de test.

    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
     
    from tkinter import *
    import webbrowser
     
    liste_mots = ['un', 'deux', 'trois']
     
    def callback(w):
        url = 'https://fr.wiktionary.org/wiki/' + w
        webbrowser.open(url)
     
    root = Tk()
    txt = Text(height=5, width=40, font=('verdana', 16, 'bold'))
     
    for word in liste_mots:
        txt.insert(END, word + ' - ')
        txt.pack()
        txt.bind("<Button-1>", callback(word))
     
    root.mainloop()
    Malheureusement, les liens s'ouvrent automatiquement (pratique quand il y a 2-3 réponses bcp moins quand il y'en a 60)
    Comment faire pour chaque mot devienne cliquable ??
    Merci

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Lorsque vous écrivez txt.bind("<Button-1>", callback(word)), la fonction est appelée immédiatement et vous faîtes un .bind avec son retour qui est None. Ce qui ne sert à rien.
    Ce que vous voudriez faire c'est fabriquer une nouvelle fonction qui appellera "callback" avec word en paramètre. Ça s'appelle une fermeture et c'est décrit dans cette page de tutoriel.

    Mais vous ne serez pas sorti d'affaire car alors seul le dernier .bind sera pris en compte: c'est pas comme çà que le widget Text fonctionne et je ne vais pas vous recopier la documentation.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Texte cliquable dans un tableau
    Par ralek dans le forum Débuter
    Réponses: 6
    Dernier message: 19/07/2010, 16h02
  2. "texte" cliquable dans un gtktreeview
    Par ArnSpin dans le forum GTK+ avec C & C++
    Réponses: 10
    Dernier message: 21/05/2010, 08h26
  3. Tableau ou list avec images, texte, texte cliquable
    Par hinsano dans le forum Windows Mobile
    Réponses: 1
    Dernier message: 26/01/2007, 15h53
  4. [FLASH MX 2004]Dynamic Text Cliquable
    Par danael dans le forum Flash
    Réponses: 7
    Dernier message: 30/04/2004, 19h55

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