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 :

Auto Focus sur Treeview


Sujet :

Tkinter Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Auto Focus sur Treeview
    Bonjour à tous,

    le but est d'obtenir la surbrillance d'une des lignes affichée par un Treeview (qu'une présélection soit déjà proposée)
    ces deux informations indique qu'il faut passer par iid
    https://www.tfzx.net/index.php/article/7067497.html
    https://stackoverflow.com/questions/...a-row/53152722
    (Renvoie un tuple des valeurs iid des enfants de l'élément spécifié par l'argument élément. S'il est omis, vous obtenez un tuple contenant les valeurs iid des éléments de niveau supérieur. )
    ---> exemple : Rec_list.get_children() ('I001', 'I002', 'I003', 'I004'

    mes essais ne donnent rien
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    # coding:utf-8
    #version 3.x python
     
    from tkinter import *
    from tkinter.ttk import *
    from tkinter import ttk
     
     
    def Load_Recette_Contenu():
     
        Load_Recette = tk.Toplevel()
        Load_Recette.title("Ouvrit une recette SAF")
        Load_Recette.geometry("325x178+0+0")
        Load_Recette.resizable(width=False, height=False)                                            # Fenêtre verrouillée
        Load_Recette.attributes("-toolwindow", 1)                                                         # Supprime les boutons Réduire/Agrandir
        Load_Recette.attributes("-topmost", 1)                                                             # au premier plan
     
     
        # ==================================================
        #                              TreeView
        # ==================================================
     
     
        # --- Insertion Table Nom HV dans TreeView
        def DisplayData():
            for i in Recette_DB_BackEnd.loadRecord():
                # print("Nom de la recette --> ", i[0])
                Rec_list.insert('', 'end', text=i[0], values=(i[0]))
     
        # --- Insertion Scrollbar
        scrollbar_y = Scrollbar(Recette_TreView, orient='vertical')                                 # Ascenseur Vertical
        scrollbar_y.place(x=299, y=0, height=169)
     
     
        Rec_list = ttk.Treeview(Recette_TreView, selectmode="browse", columns=(1), show="headings", yscrollcommand=scrollbar_y.set) 
        # --- En-tête
        Rec_list.heading('#1', text="Recettes")
        # --- Largeur Colonnes
        Rec_list.column('#1', width=300, minwidth=40, stretch=OFF)
        Rec_list.place(x=0, y=0, width=301, height=168)
     
        scrollbar_y.config(command=Rec_list.yview)                                                       # Ascenseur Vertical
     
        DisplayData()
     
     
     
        def selectionItem(a):
            # === [Sélection - Widget Treeview] ===
     
     
            curItem = Rec_list.focus()
            Liste = Rec_list.item(curItem)["values"]
            # print("winfo_name()", Rec_list.winfo_name())                                            # ID widget Treeview -- Exemple : winfo_name() !treeview
            # print("Liste - TreeView - Recette sélectionnée", Liste)                                 # Affiche la sélection contenu de la liste
            # print("Liste - TreeView - Colonne Nom -->", Liste[0])
            # for child in Rec_list.get_children():                                                            # Listing du contenu de la Treeview -- Exemple : ['Recette_2020.05_8_30.5_NoName']
            #     print(Rec_list.item(child)["values"])
            # print("Rec_list.item(curItem)[","values","][0]          ", Rec_list.item(curItem)["values"][0])                                   # Affiche Nom recette depuis Treeview -- Exemple : Recette_2020.05_8_30.5_NoName
            # print("Rec_list.get_children()", Rec_list.get_children())                                                                                       # iid -- Renvoie un tuple des valeurs iid des enfants de l'élément spécifié par l'argument élément. S'il est omis, vous obtenez un tuple contenant les valeurs iid des éléments de niveau supérieur.  --- exemple : Rec_list.get_children() ('I001', 'I002', 'I003', 'I004')
            # print("Rec_list.get_children()[0]", Rec_list.get_children()[0])
     
            # print("Rec_list.get_children()", Rec_list.get_children([Rec_list.item(curItem)["values"][0]]))   ????????????????????
     
            Rec_list.selection_set(Rec_list.get_children()[1])
            Rec_list.focus_set()
            Rec_list.focus(Rec_list.get_children()[1])
     
     
        # ==================================================
        #                              Evénement Treeview
        # ==================================================
        # via souris
        Rec_list.bind('<ButtonRelease-1>', selectionItem)                                         # Le bouton de la souris a été relâché
    je suis obligé d'activer Rec_list.bind ...., puis cliquer sur une des lignes pour que la ligne cible soit effectivement mise ne surbrillance
    votre aide est la bien venue. merci de votre temps
    Dernière modification par Invité ; 01/06/2020 à 10h46.

Discussions similaires

  1. Auto focus sur une page a chaque fois que son contenu se change
    Par solicel dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 08/01/2010, 09h21
  2. [C#]garder le focus sur un node d'un treeview
    Par Blo0d4x3 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/05/2006, 21h23
  3. [C#][.Net 2.0] donner focus à Combobox, après click sur treeview
    Par Harry_polin dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/02/2006, 22h27
  4. focus sur un TreeView
    Par steph_1 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 07/11/2005, 13h50
  5. Pb d'auto-incrément sur une table v7
    Par Nivux dans le forum Paradox
    Réponses: 9
    Dernier message: 26/12/2002, 12h05

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