python tkinter arbre obtenez de l'élément sélectionné valeurs
Je viens juste de commencer avec un petit tkinter arbre de programme en python 3.4.
Je suis coincé avec retourner la première valeur de la ligne sélectionnée.
J'ai plusieurs lignes avec 4 colonnes et je suis à l'appel d'une fonction sur un clic gauche sur un élément:
tree.bind('<Button-1>', selectItem)
La fonction:
def selectItem(a):
curItem = tree.focus()
print(curItem, a)
Cela me donne quelque chose comme ceci:
I003 <tkinter.Event object at 0x0179D130>
Il ressemble à l'élément sélectionné obtient identifiés correctement.
Tout ce que je besoin maintenant est de savoir comment obtenir la première valeur dans la ligne.
arbre de création:
from tkinter import *
from tkinter import ttk
def selectItem():
pass
root = Tk()
tree = ttk.Treeview(root, columns=("size", "modified"))
tree["columns"] = ("date", "time", "loc")
tree.column("date", width=65)
tree.column("time", width=40)
tree.column("loc", width=100)
tree.heading("date", text="Date")
tree.heading("time", text="Time")
tree.heading("loc", text="Loc")
tree.bind('<Button-1>', selectItem)
tree.insert("","end",text = "Name",values = ("Date","Time","Loc"))
tree.grid()
root.mainloop()
Pourriez-vous ajouter le code pour la création de l'arbre? (ou quelque chose de plus court, mais même si c'est trop long)
ajouté à l'arbre de création de script. Ce n'est pas mon programme mais le basi cpart.
Il semble que le rappel est exécutée avant la mise au point dans les modifications apportées à l'arbre, de sorte que vous obtenez toujours le auparavant valeur sélectionnée.
Merci pour les conseils, cela pourrait être vrai, mais le premier problème que j'ai est toujours : comment faire du je retourner la valeur dans la première colonne de la ligne sélectionnée?
ajouté à l'arbre de création de script. Ce n'est pas mon programme mais le basi cpart.
Il semble que le rappel est exécutée avant la mise au point dans les modifications apportées à l'arbre, de sorte que vous obtenez toujours le auparavant valeur sélectionnée.
Merci pour les conseils, cela pourrait être vrai, mais le premier problème que j'ai est toujours : comment faire du je retourner la valeur dans la première colonne de la ligne sélectionnée?
OriginalL'auteur samtun | 2015-06-03
Vous devez vous connecter pour publier un commentaire.
Pour obtenir l'élément sélectionné et tous ses attributs et de valeurs, vous pouvez utiliser le
item
méthode:Ce sera la sortie d'un dictionnaire, à partir de laquelle vous pouvez facilement récupérer des valeurs individuelles:
Également noter que le rappel sera exécuté avant l'accent mis dans l'arbre changé, c'est à dire, vous obtiendrez l'élément que était sélectionné avant que vous avez cliqué sur le nouvel élément. Une façon de résoudre ce problème est d'utiliser le type de l'événement
ButtonRelease
à la place.comment faire pour obtenir une valeur particulière de la sortie du dictionnaire? pouvez-vous expliquer.
OriginalL'auteur tobias_k