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
Convertir chaine de caractère [ par basmaber ]
Bonsoir J'ai créé un programme qui récupère des données provenant d'un fichier texte qui contient plusieurs valeurs 10 colonnes et 63 lignes. Les donn
lire et comparer les valeurs d'un fichier [ par basmaber ]
Bonjour, j'ai crée une boucle qui lit et compare les valeur d'un fichier , mais le problème ma boucle fonctionne pour toute les valeurs sauf une je ne
Livres en rapport
|
Derniers Blogs
[TECHDAYS2012] OUI J'Y SERAI![TECHDAYS2012] OUI J'Y SERAI! par JeremyJeanson
Bonsoir, Certes, je l'annonce avec un peu de retard, mais je serai effectivement au Techdays demain. Comme l'an dernier, je participerai au programme ATE (Ask The Expert). Si vous avez des questions Workflow, WCF, AppFabric ou plus généralement .net, n'hé...
Cliquez pour lire la suite de l'article par JeremyJeanson TFS INTEGRATION TOOLS - SUIVI DES SYNCHRONISATIONS AVEC REPORTING SERVICESTFS INTEGRATION TOOLS - SUIVI DES SYNCHRONISATIONS AVEC REPORTING SERVICES par vfabing
Afin de s'assurer du bon fonctionnement des différentes synchronisations effectuées par les TFS Integration Tools, 2 rapports sont présents dès l'installation. Il suffit alors d'effectuer les manipulations suivantes pour pouvoir les visualiser : Loca...
Cliquez pour lire la suite de l'article par vfabing CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT)CSS CONTENT STATE SELECTORS (PERSONNAL DRAFT) par FREMYCOMPANY
Bonjour à tous, Je viens de publier une proposition comprenant 5 pseudo-classes pour le CSS Working Group ayant trait à l'état de chargement d'un élément (ex: IMG,VIDEO,AUDIO,OBJECT pour l'HTML.). Si le c½ur vous en dit, vous pouvez retrouver cette p...
Cliquez pour lire la suite de l'article par FREMYCOMPANY MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ?MBA : POURQUOI FAIRE ET COMMENT LE CHOISIR ? par ROMELARD Fabrice
Formation initiale Durant la formation, le découpage classique est le suivant (je donnerai les équivalences Suisse lorsque je les connaîtrais) : Ecole primaire jusqu'au Collège : Formation générale permettant d'obtenir les méthodes...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
PYVISA PROBLèMEPYVISA PROBLèME par sandrine44
Cliquez pour lire la suite par sandrine44
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|