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 :

ListBox, sélection, ANCHOR et ACTIVE


Sujet :

Tkinter Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de calogerogigante
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2003
    Messages : 608
    Par défaut ListBox, sélection, ANCHOR et ACTIVE
    Bonjour,

    Je suis en train d'étudier les divers modes de sélection dans une ListBox avec Tkinter. Je suis arrivé à faire le petit programme ci-dessous pour tester différentes façons de récupérer les sélections.

    Néanmoins, j'ai un soucis avec get(ACTIVE) index(ACTIVE) get(ANCHOR) et index(ANCHOR).

    Je n'arrive pas à bien définir que représente exactement ACTIVE et ANCHOR ? J'ai l'impression, au fur et à mesure que je sélectionne mes items dans la liste, que ANCHOR et ACTIVE me donnent des résultats aléatoires ?

    Active, c'est l'élément souligné, non ? Et Anchor, c'est quoi ?

    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
     
    # -*- coding:utf-8 -*-
    from Tkinter import *
     
    root=Tk()
    root.geometry("400x400")
    root.title("ListBox Sélection - v.3")
     
    def focusSortie(event):
       print "\n------\nSortie de Focus"
    def focusEntree(event):
       print "\n------\nEntree de Focus"
    def focusSelection(event):
       laselection = lis.curselection()
       print "\n------\nSelection dans la listbox :"
       print "selection get(ACTIVE)   : ", lis.get(ACTIVE)
       print "selection index(ACTIVE) : ", lis.index(ACTIVE)
       print "selection get(ANCHOR) : ",   lis.get(ANCHOR)
       print "selection index(ANCHOR) : ", lis.index(ANCHOR)
       print "selection la liste : ",      laselection
    def selectionSingle():
        lis.select_clear(0,END)
        lis.config(selectmode=SINGLE)
        barreEtat.config(text="Sélection Single")
    def selectionBrowse():
        lis.select_clear(0,END)
        lis.config(selectmode=BROWSE)
        barreEtat.config(text="Sélection Browse")
    def selectionMultiple():
        lis.select_clear(0,END)
        lis.config(selectmode=MULTIPLE)
        barreEtat.config(text="Sélection Multiple")
    def selectionExtended():
        lis.select_clear(0,END)
        lis.config(selectmode=EXTENDED)
        barreEtat.config(text="Sélection Extended")
     
    frame = Frame(root, padx=20, pady=20)
    frame.pack(side=TOP, fill=BOTH, expand=1)
     
    bo1 = Button(frame, text="Sélection single",   command=selectionSingle)
    bo2 = Button(frame, text="Sélection browse",   command=selectionBrowse)
    bo3 = Button(frame, text="Sélection multiple", command=selectionMultiple)
    bo4 = Button(frame, text="Sélection extended", command=selectionExtended)
    scr = Scrollbar(frame)
    lis = Listbox(frame, selectmode=SINGLE, bg='ivory')
    barreEtat = Label(frame, text="Départ : single", bd=1, relief=SUNKEN, anchor=W)
     
    barreEtat.pack(side=BOTTOM, fill=X, pady=4)
    bo1.pack(side=TOP, fill=X, pady=4)
    bo2.pack(side=TOP, fill=X, pady=4)
    bo3.pack(side=TOP, fill=X, pady=4)
    bo4.pack(side=TOP, fill=X, pady=4)
    scr.pack(side=RIGHT, fill=Y)
    lis.pack(side=LEFT,  fill=BOTH, expand=1)
     
    scr.config(command=lis.yview)
    lis.config(yscrollcommand=scr.set)
     
    for i in range(30): 
       lis.insert(END, str(i)+"-"+str(i)+"-"+str(i))
     
    lis.bind("<FocusOut>", focusSortie)
    lis.bind("<FocusIn>", focusEntree)
    lis.bind("<<ListboxSelect>>", focusSelection)
     
    root.mainloop()
    Merci d'avance si vous pouvez m'aider à voir claire entre ACTIVE et ANCHOR...
    Images attachées Images attachées  

Discussions similaires

  1. ListBox Sélection multiple
    Par yonpo dans le forum VB.NET
    Réponses: 2
    Dernier message: 06/12/2010, 19h02
  2. Sélection de fenétre active ?
    Par MrThorr dans le forum Windows Forms
    Réponses: 7
    Dernier message: 24/02/2009, 11h37
  3. Style Listbox Sélection et Survol de la souris
    Par blaster681 dans le forum Windows Presentation Foundation
    Réponses: 11
    Dernier message: 06/11/2008, 10h16
  4. Boucler pour effacer des lignes dans une listbox à sélection multiple
    Par simond1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 01/08/2008, 22h25
  5. Initialisation ListBox à sélections multiples
    Par vincentdu33 dans le forum C#
    Réponses: 1
    Dernier message: 26/07/2007, 09h54

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