begin process at 2010 09 04 12:55:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Divers

 > 

Débutant(e)

 > 

PYTHON TKINTER utilisation de labels


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

PYTHON TKINTER utilisation de labels

dimanche 10 mai 2009 à 15:56:45 | PYTHON TKINTER utilisation de labels

bichon3001

Bonjour,
Je souhaite utiliser l'interface graphique TKinter de Python pour appeler une fonction avec un bouton, et afficher le résultat dans un label.
A chaque fois que j'appelle ma fonction avec le bouton, il faudrait que le résutat dans le label soit actualisé.

Merci d'avance.

from random import shuffle
from Tkinter import *

def hasard():# Définit une configuration au hasard, permute 1,2,3,4
text=''
S=[1,2,3,4]
shuffle(S)
text=str(S)
return text

#------ Programme principal -------

# Création du widget principal ("maître") :
fen1 = Tk()
# création des widgets "esclaves" :
lab1 = Label(fen1,text='Config :'+hasard()) #  <= ??????
lab1.pack(side=LEFT)
bou2 = Button(fen1,text='Générer config',command=hasard)
bou2.pack()
bou1 = Button(fen1,text='Quitter',command=fen1.quit)
bou1.pack(side=BOTTOM)
fen1.mainloop() # démarrage du réceptionnaire d'événements
fen1.destroy() # destruction (fermeture) de la fenêtre
#---------------------------------------------
lundi 11 mai 2009 à 13:35:52 | Re : PYTHON TKINTER utilisation de labels

vychnou

Bonjour, lorsque tu configures bou2 :
bou2 = Button(fen1,text='Générer config',command=hasard)
Tu bind la fonction hasard. En fait, il faut que tu bind une commande qui mettes à jour le texte du label en appelant la fonction hasard :


# -*- coding: iso-8859-1 -*-

from random import shuffle
from Tkinter import *

def hasard():# Définit une configuration au hasard, permute 1,2,3,4
  text=''
  S=[1,2,3,4]
  shuffle(S)
  text=str(S)
  return text
 
def generer_config():
  lab1.config(text='Config :'+hasard())
 
#------ Programme principal -------

# Création du widget principal ("maître") :
fen1 = Tk()
# création des widgets "esclaves" :
lab1 = Label(fen1,text='Config :'+hasard()) #  <= ??????
lab1.pack(side=LEFT)
bou2 = Button(fen1,text='Générer config',command=generer_config)
bou2.pack()
bou1 = Button(fen1,text='Quitter',command=fen1.quit)
bou1.pack(side=BOTTOM)
fen1.mainloop() # démarrage du réceptionnaire d'événements
fen1.destroy() # destruction (fermeture) de la fenêtre
#---------------------------------------------

Amuse toi bien !
dimanche 17 mai 2009 à 20:13:21 | Re : PYTHON TKINTER utilisation de labels

bichon3001

merci. Je vais essayer.
jeudi 6 août 2009 à 18:20:52 | Re : PYTHON TKINTER utilisation de labels

MeierLink

Bonjour!

Je relance ce sujet, car j'ai un problème du même type, mais je n'arrive pas à adapter l'explication de Vychnou à mon cas...

Je débute en programmation python, avec le cours de Swinnen, et je bloque sur une petite application que j'ai essayé de créer pour mettre en application le chapitre sur Tkinter...

Alors pour commencer une petite screen de la fenêtre du programme:


Comme je suis passionné de jeu de rôle j'ai voulu faire un petit programme dans lequel on entre les valeurs des caractéristiques de son personnage, avec un maximum de 15 points à distribuer sur les six caractéristiques
Comme vous pouvez le voir, les valeurs s'affiche bien, tout, mais là où sa coince, c'est que lorsqu'on appuie sur les boutons + ou -, les valeurs de caractéristiques et le reste de point ne s'actualise pas...
Vu que c'est un peu répétitif d'une caractéristique à l'autre, voici juste un extrait du code:

Code Python :
# -*- coding:Utf-8 -*-


#-#-#-# Mini RPG #-#-#-#
# Petit essai de conception pour la mise au point d'un mini-RPG...
# Cette première partie vise à permettre au joueur d'attribuer les points de caractéristiques à son personnage...

from Tkinter import *

########### Définition des fonctions ##########

## Définition des caractéristiques :

# D'abord les caractéristiques et le reste des points à distribuer
force, resistance, magie, esprit, precision, esquive, reste = 8, 8, 8, 8, 8, 8, 15

# Ensuite des définitions qui vont avec

def incforce():
"Augmenter la force"
global force, reste
while reste >= 0:
force += 1
reste -= 1
return force, reste
def decforce():
"Baisser la force"
global force, reste
while (reste <=15) or (force >= 1):
force -= 1
reste += 1
return force, reste


[...]

Code Python :
########### -- Corps du programme -- ##########


fenetre = Tk()
fenetre.title("MiniRPG")
Label(fenetre, text='Bonjour et bienvenu sur le mini RPG du CRFN!', fg='blue') .grid(row=0, column=0, columnspan=4)
Label(fenetre, text='Nom :', fg='black').grid(row=1, column=0, sticky=W)
enternom = Entry(fenetre)
enternom.grid(row=1, column=1) # Entrer le nom
Label(fenetre, text='Prénom', fg='black').grid(row=1, column=2)
enterprenom = Entry(fenetre)
enterprenom.grid(row=1, column=3) # Entrer le prénom

# Ligne de la force
Label(fenetre, text='Force', fg='black').grid(row=2, column=0, sticky=W)
bdecforce = Button(fenetre, text='-', command=decforce)
bdecforce.grid(row=2, column=1)
varForce = StringVar()
varForce.set(str(force))
chpforce = Label(fenetre, textvariable=varForce)
chpforce.grid(row=2, column=2)
bincforce = Button(fenetre, text='+', command=incforce)
bincforce.grid(row=2, column=3)


[...]

Là où je ne vois pas comment adapter, c'est que la fonction qui fait changer la variable est appliquée au label. Pour moi, il y a deux fonctions qui agissent sur la même variable...

Est-ce que je pourrai avoir quelques explications supplémentaires?



Cette discussion est classée dans : text, python, hasard, fen1, tkinter


Répondre à ce message

Sujets en rapport avec ce message

Python 2.6 avec Tkinter 8.6 [ par zarash ] Bonjour, Voici mon probleme : Je souhaite utiliser une option du widget text de Tkinter qui n'existe que dans la version 8.6.Il s'agit de la rotation Petit problème avec "return" [ par Uims ] Bonjour, Je suis entrain de faire un annuaire en python (avec Tk), mais j'ai un petit problème avec return dans la fonction "loc", j'aimerai que la v Tkinter:Stocker et Afficher la valeur d'un Entry [ par djisse95 ] Bonjour a tous! Je debute avec Tkinter,et je voudrais savoir, pourquoi ce code ne marche pas, et comment faire pour qu'il marche!Le but de ce code est help, faire un mastermind en python et en tkinter avant le 24 !!! [ par Crick132 ] je suis étudiante en 2ème année, je dois réaliser un mastermind en python avec 8 couleurs et 5 combinaisons possibles.si quelqu'un pouvait m'aider,mer Probleme avec TKinter [ par titasse ] Bonjour, je debute en python. J'ai un probleme lorsque je veux importer TKinter avec la commande from TKinter import * j'ai le message suivant : Imp Ouverture d'un fichier windows (avec Tkinter) [ par Uims ] Bonjour, Je travaille sous python et Tkinter et j'aurai voulu savoir comment dire a python de demarrer (comme on clique sur un fichier) une applicati Tkinter + Text + coloration [ par Kickaha59 ] Bonjour à tous,Je souhaite colorer certains mots afficher dans une fenêtre avec la fonction Text de Tkinter.Par exemple je veux colorer en vert tout l compilation [ par xmaw ] J'ai fait une recherche et j'ai trouvé qu'il y avait des compilateurs pour les fichiers .py qui donnent des executables indépendants de python qui peu script python [ par emma66 ] Bonjour,J'aimerais ecrire un script python qui memorise tout les utilisateurs d'un fichier dans une liste de chaine "Utilisateurs", le nom d'un utilis [Python+OpenCV] Lecture Vidéo [ par Vinzr ] Bonjour,Je commence un nouveau projet en Python avec la librairie OpenCv.Ayant déjà utilisé de nombreuse fois cette librairie en C, je pensais que cel


Nos sponsors


Sondage...

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales