Python 3.2.7 et TKinter : récupérer le contenu d'une variable texte

Résolu
Bonjour,

Je récupère l'identifiant d'un texte proche d'une position xc,yc sur un canvas avec l'instruction suivante:

current_text = graph_area.find_overlapping(xc-5, yc-5, xc+5, yc+5)

Comment récupérer ensuite la valeur du texte en utilisant current_text ?

Exemple:

Ayant créé un texte comme ceci : graph_area.create_text(x, y, text = 'toto')

comment récupérer 'toto' ?

Merci d'avance !

3 réponses

  1. Ce que tu pourrais faire, c'est de créer, non pas un canvas mais une frame :
    from tkinter import *
    
    def recup() :
         text = Text.get()
         print("text")
    w = Tk()
    w.title("test")
    w.geometry("400x400")
    w.minsize(400,400)
    w.config(background='blue')
    contenu = Frame(w, bg='white')
    global Text
    Text = Label(contenu, text='toto',font=("Arial",10),bg='white',fg='black')
    Text.pack()
    Button(contenu, text='toto',font=("Arial",10),bg='white',fg='black',command=recup)
    contenu.pack()
    w.mainloop()
    

    1. Bonsoir Mathkode,

      OK, mais ce n'est pas exactement çà

      En fait, j'ai des textes sur un canvas, et je détecte si il y en a un à proximité du pointeur de la souris qui survole le canvas, grâce à la méthode find_overlapping() à + ou - 5 pixels près :

      identifiant = canvas.find_overlapping(x-5, y-5,x+5,y+5 )

      et donc 'identifiant' doit me rendre la valeur du texte, mais y-a-t-il une méthode pour çà ?
      1. Bonjour à tous,

        J'ai fini par trouver:

        canvas.itemcget(identifiant, 'text')

        Je ferme cet appel
        1. Merci (ps : cela m'intéressait aussi )