Accueil > Forum > > > > récupération d'état de checkbox
récupération d'état de checkbox
vendredi 6 février 2009 à 11:15:42 |
récupération d'état de checkbox

thibault7249
|
Bonjour voila j'ai plusieurs "checkbutton" <code> i=0 j=0 valeurs = {} value=True while(i<36): value = IntVar(); chk = Checkbutton(text= str(i), variable=value ) chk.grid(row=(i-j*6)+5, column = j) valeurs[i]=value.get() print i i+=1 if(i%6==0): j+=1 print valeurs <\code> le "print valeur" est là pour me montrer l'état du dictionnaire j'aurais besoin de récupérer ce dictionnaire pour l'envoyer dans une autre fonction une fois les boutons cochés mais je ne vois pas comment faire ...  pour cela j'en appelle à votre bonne volonté pour m'aider je pensais d'abord mettre le code que j'ai mi plus haut dans une fonction avec un "return valeurs" ou alors déclarer "valeurs" en tant que variable globale mais ni l'une des solutions ni l'autre ne me semble correctes ... je commence tout juste la programmation événementielle et je suis très débutant en interface graphique D'avance merci Cordialement 
|
|
samedi 7 février 2009 à 13:37:28 |
Re : récupération d'état de checkbox

lespinx
|
Re-bonjour thibault7249
Si j'ai bien compris, la question est : comment faire pour passer un dictionnaire dans un appel de fonction?
exemple def test(dic_test): print "def ",dic_test, id(dic_test)
dic_main = {"a":1,"b":2,"c":3} print "main",dic_main, id(dic_main) test(dic_main) #appel de la fonction
On indique le nom du dictionnaire dans les paramètres d'appel de la fonction. Le print "id" du dictionnaire est là pour montrer qu'en réalité on passe dans les paramètres de la fonction, la référence à l'objet et non pas le contenu de l'objet.
Cordialement
|
|
lundi 9 février 2009 à 09:46:34 |
Re : récupération d'état de checkbox
|
lundi 9 février 2009 à 10:41:14 |
Re : récupération d'état de checkbox

thibault7249
|
Je viens de réécrire mon code en plus lisible et il ne me met plus de message d'erreur : ########################################################################################### ########################################################################################### def checkcheck(): if checkButtonsValues[parametre]==0: checkButtonsValues[parametre]=1 else: checkButtonsValues[parametre]=0 print parametre,checkButtonsValues[parametre] ########################################################################################### ########################################################################################### i=0 checkButtonsValues = {} parametres = np.arange(0,36) tabchk = [] for parametre in parametres: var = IntVar(); chk = Checkbutton(text = parametre , variable = var, command = checkcheck) tabchk.append(chk) checkButtonsValues[parametre]= var j=0 i=0 for a in tabchk: a.grid(row = (i-j*6)+4,column = j) i+=1 if i%6==0: j+=1
########################################################################################### ###########################################################################################
Désolé je prend beaucoup de place à mettre mes lignes de code  Par contre je sais toujours pas comment modifier l'état de la case 17 par exemple ( je sais coché une case  ) mais j'arrive pas à dire que c'est ELLE qui est cochée.  Je sais pas si c'est compréhensible ...  
|
|
lundi 9 février 2009 à 10:47:05 |
Re : récupération d'état de checkbox

thibault7249
|
^^ pardon pour mon manque d'éducation Bonjour lespinx
|
|
lundi 9 février 2009 à 15:48:35 |
Re : récupération d'état de checkbox
|
lundi 9 février 2009 à 21:31:22 |
Re : récupération d'état de checkbox

lespinx
|
Réponse acceptée !
Bonsoir Ci joint un code qui permet de lire et modifier l'état d'un Radio Bouton.
# -*- coding: ISO-8859-15 -*- from Tkinter import *
def clic_radiobouton(): #Traitement de l'évenement clic sur Radio Bouton
#Lecture de l'état du Radion Bouton etat_radiobouton = var_Radio.get()
#Ici on traite le cas du clic sur "B1" ==> faire un clic sur "B1" if etat_radiobouton == "B1": print "Vous avez cliqué le bouton",etat_radiobouton
#Ici on modifie l'état du Radio Bouton "B5" (6eme Radio Bouton) #Il y a 6 Radio Boutons numérotés de 0 a 5 Bouton_Radio[5].select() etat_radiobouton = var_Radio.get() print "Vous avez modifié l'état du bouton",etat_radiobouton
if __name__ == '__main__':
AppliTK = Tk() #Création du bouton Radio Bouton_Radio = [] var_Radio = StringVar()
for element in [ "B0" , "B1" , "B2", "B3", "B4", "B5"]: rb = Radiobutton(AppliTK, text = element, value = element, variable = var_Radio, command = clic_radiobouton, takefocus = False) Bouton_Radio.append(rb) #rb = Identifiant interne
#Placement des Boutons Radio for element in Bouton_Radio: element.pack(side = LEFT)
#Activation du bouton Radio "B2" Bouton_Radio[2].select()
AppliTK.mainloop()
En espérant avoir répondu à la question
|
|
mardi 10 février 2009 à 10:31:36 |
Re : récupération d'état de checkbox

thibault7249
|
 Merci mais en fait c'est des checkbuttons que je dois construire car j'ai plusieurs valeurs à transmettre Là j'ai fait une classe dérivée de checkbuttonclass CheckbuttonT(Checkbutton): def getText(self): print self['text'] def __init__(self,master,_parametre,_variable): Checkbutton.__init__(self, master,text = _parametre,variable = _variable,command = self.getText) Mais le souci c'est que quand je clic sur un, tous se cochent :parametres = np.arange(0,36) tabchk = [] var=0 for parametre in parametres: chk =CheckbuttonT.CheckbuttonT(fenetre_root,parametre , _variable = 0) tabchk.append(chk) j=0 i=0 for a in tabchk: a.grid(row = i-j*6+4,column = j) i+=1 if i%6==0: j+=1 J'avoue que ça me rend fou      
|
|
mardi 10 février 2009 à 14:04:14 |
Re : récupération d'état de checkbox

thibault7249
|
Réponse acceptée !
Bon et bien merci de ton aide lespinx ^^ j'ai fini par y arriver : class CheckbuttonT(Checkbutton): etat = False def getText(self): if self.etat == False : self.etat = True else: self.etat = False print self['text'],self.etat def __init__(self,_parametre,_on ,_off): Checkbutton.__init__(self, text = _parametre,command = self.getText,onvalue = _on , offvalue = _off) ######################################################## parametres = np.arange(0,36) global tabchk tabchk = [] var=0 j=0 i=0 for parametre in parametres: tabchk.append(CheckbuttonT.CheckbuttonT(parametre ,1,0)) for a in tabchk: a.grid(row = i-j*6+4,column = j) i+=1 if i%6==0: j+=1 ########################################################### n=0 dico_canal = {} while n < 36: print tabchk[n]['text'],tabchk[n].etat dico_canal[tabchk[n]['text'] ]= tabchk[n].etat n +=1 Si ça peut aider quelqu'un un jour  Bonne journée
|
|
jeudi 19 février 2009 à 06:41:34 |
Re : récupération d'état de checkbox

Endoril
|
Bonjour, oui effectivement, ca peut  Mais pourrais tu commenter ton code stp ?  Je cherche a faire un prog qui lance une appli ou une autre selon l'etat des boutons. Par exemple appli1.exe quand loption est cochee aplli2.exe si elle ne l'est pas. A partir de ce code on peut sans doute mettre ton dictionnaire sous forme d'un fichier.txt ?   Merci de ta (vos) réponses !
|
|
Cette discussion est classée dans : checkbox, valeurs, récupération, value, état
Répondre à ce message
Sujets en rapport avec ce message
Problème de calcul simple [ par vaggarath ]
Bonjour bonjour. Voilà j'ai un problème tout c*n, j'en suis sur... En fait je fais un boutton qui procède à un calcul suivant les valeurs rentrées au
récupération des données dans fichier odb [ par KoolCampos ]
Slt, je suis un débutant dans la programmation avec Python. J'ai un problème. Au fait , j'ai lancé un calcul sous abaqus et j'ai le fichier de sortie
Livres en rapport
|
Derniers Blogs
[MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ![MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ! par redo
Si tout comme moi, vous avez manqué de peu le premier keynote du Microsoft Mix 2010, je vous invite à prendre deux heure et le consulter ci-dessous . Visionnez le Keynote à l'url suivante : http://www.microsoft.com/Presspass/events/mix/videoGallery.aspx?c...
Cliquez pour lire la suite de l'article par redo VISUAL STUDIO TALK SHOW: EF4VISUAL STUDIO TALK SHOW: EF4 par Matthieu MEZIL
La semaine dernière, j'étais à Montréal pour y animer des conférences sur Entity Framework. J'en ai profité pour enregister un podcast Visual Studio Talk Show que vous pouvez retrouver ici ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ![MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ! par redo
Me voici enfin arrivé au Microsoft Mix 2010, je dois vous avouer être arrivé un peu plus tard que d'habitude, ce qui explique que je n'ayez vu aucune info passer quant au premier keynote . certains événements sont plus importants que tout, ce qui était mo...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LIVRE GRATUIT SUR PROGRAMMER WINDOWS PHONE 7 SERIES ![MIX 2010] - LIVRE GRATUIT SUR PROGRAMMER WINDOWS PHONE 7 SERIES ! par redo
Disponible gratuitement : (153 pages) PDF Version : http://download.microsoft.com/download/7/C/8/7C820C6F-C205-4ECF-B9F3-1505DD13F9BF/ProgWinPhonePreview.pdf XPS Version : http://download.microsoft.com/download/E/3/5/E359FC51-1CF5-47F1-9BF3-74AB09D3339B/P...
Cliquez pour lire la suite de l'article par redo SQL SERVER : ESTIMER LE NOMBRE DE LIGNES RENVOYéES PAR UNE REQUêTE AVEC SQLCLRSQL SERVER : ESTIMER LE NOMBRE DE LIGNES RENVOYéES PAR UNE REQUêTE AVEC SQLCLR par christian
Dans certains cas très particuliers il peut être intéressant de savoir le nombre de ligne que va renvoyer une requête sans exécuter cette dernière. En effet les opérations de comptage sont généralement gourmande en ressource est très difficile à optim...
Cliquez pour lire la suite de l'article par christian
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
Comparez les prix

HTC Magic
Entre 429€ et 429€
|