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 :

Probleme bouton select all pour une liste


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Par défaut Probleme bouton select all pour une liste
    Bonjour à tous,

    J'ai un petit pb pour pourvoir faire un bouton "select all" qui selectionne l'ensemble des datas d'un liste. Pour infos un autre bouton me permet de recuperer une valeur d'une checkbox sans probleme, la même chose appliquer à la liste ne marche pas.

    Qu'est ce que j'ai raté ? Ci dessous, le code :

    #--Button---------
    closeButton = Button(self, text="close", command=self.quit)
    closeButton.place(x=520, y=350)
    OKButton = Button(self, text="OK", command=self.LAUNCHBLAST)
    OKButton.place(x=440, y=350)
    BROWSEButton = Button(self, text="BROWSE", command=self.openDirectory)
    BROWSEButton.place(x=520, y=310)
    SelectALLButton = Button(self, text="Select ALL", command=self.select_all, state=DISABLED)
    SelectALLButton.place(x=10, y=250)
    ClearALLButton = Button(self, text="Clear ALL", state=DISABLED)
    ClearALLButton.place(x=90, y=250)
    #--CHECK Button---
    self.varPSTD_CB = IntVar()
    Playblast_STD_CB = Checkbutton(self, text="Create Playblast By Shots", bg="#78766E", variable=self.varPSTD_CB)
    Playblast_STD_CB.place(x=310, y=40)
    #---
    self.varPSTR_CB = IntVar()
    Playblast_STR_CB = Checkbutton(self, text="Create Playblast By Shots Stereo", bg="#78766E", variable=self.varPSTR_CB)
    Playblast_STR_CB.place(x=310, y=60)
    #---
    self.varPSeqSTD_CB = IntVar()
    Playblast_SeqSTD_CB = Checkbutton(self, text="Create Playblast By Sequence", bg="#78766E", variable=self.varPSeqSTD_CB)
    Playblast_SeqSTD_CB.place(x=310, y=80)
    #---
    self.varPSeqSTR_CB = IntVar()
    Playblast_SeqSTR_CB = Checkbutton(self, text="Create Playblast By Sequence Stereo", bg="#78766E", variable=self.varPSeqSTR_CB)
    Playblast_SeqSTR_CB.place(x=310, y=100)
    #--LISTBOX-------
    # scrollbar = Scrollbar(self)
    lb = Listbox(self, height=12, width=42, selectmode=EXTENDED, bg="#DCDAD2")
    lb.place(x=10, y=40)
    #TEMPS
    T=0
    while T<60:
    lb.insert(END, "SHOTS"+str(T))
    T = T+1
    # print lb.get(0, END) <<< Marche
    #--LABEL---------
    self.varLabel = StringVar()
    self.varLabel.set("//")
    label = Label(self, textvariable=self.varLabel, width=70, relief=RIDGE, anchor=W, )
    label.place(x=10, y=312)
    #---
    label2 = Label(self, text="OUTPUT DIRECTORY :", width=18, relief=FLAT, anchor=W, bg="#78766E" )
    label2.place(x=10, y=288)
    #---
    label3 = Label(self, text="SHOTS LIST :", width=12, relief=FLAT, anchor=W, bg="#78766E" )
    label3.place(x=10, y=10)
    #---
    label4 = Label(self, text="OPTIONS :", width=9, relief=FLAT, anchor=W, bg="#78766E" )
    label4.place(x=310, y=10)
    #DEF FOR EXECUTING SCRIPT
    def select_all(self):
    print self.lb.get(0, END) << Ne marche pas...

    def openDirectory(self):
    dirname = tkFileDialog.askdirectory(initialdir="%HOME%")
    self.varLabel.set(dirname)
    print "DIRECTORY : "+dirname
    def GET_CAM(self):
    #get the cam name and put it in the variable
    print "CAMERA LIST standard and stereo"
    def GET_SOUND(self):
    print "GET SOUND"
    def LAUNCHBLAST(self):
    if self.varLabel.get() != "//" and self.varLabel.get() != "":
    if self.varPSTD_CB.get() == 1: << Récuperation de la valeur sans pb
    print "MODE Playblast By Shots Enable" << MARCHE avec bouton OK
    Merci d'avance,

    Matthieu

    ps : Je ne comprends pas pourquoi le bloc quote n'a pas conserver l'indetation du code, sorry...

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Utilise la balise code à la place de quote.

    Dans ton code tu as d'une part
    et d'autre part
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    print self.lb.get(...
    Est-ce la même chose ? pourquoi le self ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Par défaut
    Salut vinsS,

    Oui c'est la même chose. Le self est là tout simplement car je suis dans une class. La class interface contient l'interface et les commandes lier au bouton. Donc une fois la variable crée, je la passe dans ma def avec self, car elle appartient à la classe. J'ai utiliser le même principe pour le bouton ok et les checkboxs.

    Maintenant, question, est ce que pour les listes on peux aussi utiliser variable dans la creation de la liste et recup les datas via StringVar() ? j'ai pas trouvé d'info sur ça ? Si oui, alors le pb va être résolu.

    Merci pour l'info balise code.

    Matt

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Heu, tu peux reposter ton code correctement indenté et avec les définitions des classes, parce que ton explication avec le self me semble suspecte.

  5. #5
    Membre Expert
    Inscrit en
    Août 2010
    Messages
    1 124
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 1 124
    Par défaut
    Bonjour,

    self.lb n'est défini nul part, seule la variable locale lb existe !

  6. #6
    Futur Membre du Club
    Inscrit en
    Juin 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 3
    Par défaut
    Salut VV33D,

    Oui je suis un boulet lol... Pour le checkbox je la declarait en self.var lors de la création, je pensais pouvoir la taguer en self sachant que j’étais toujours dans la class . Du coups ça marche mieux, si j'utilise directement lb dans la def, ça marche pas, si j'utilise self.lb dans la def et que je fait self.lb = lb plus haut, ça marche.

    Merci pour le coups d'oeil extérieur.

    Matt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. html:select pour une liste de string
    Par sallemel dans le forum Struts 1
    Réponses: 1
    Dernier message: 10/12/2008, 17h06
  2. [DOM] Selected ! Comment définir un choix pour une liste déroulante
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 29/05/2008, 12h07
  3. Réponses: 26
    Dernier message: 06/01/2007, 13h11
  4. implémenter la notion "au moins" pour une liste d'
    Par mohamed dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 18/08/2004, 00h07
  5. [Debutant(e)]conseil pour une liste ?
    Par Tymk dans le forum Débuter
    Réponses: 5
    Dernier message: 05/08/2004, 14h33

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