begin process at 2012 02 07 11:40:44
  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 Positionner le curseur dans un widget text (Tkinter) [ par Souslannodenime ] Voila, j'ai crée un client pour un système de chat via socket(un genre de irc-like) et j'aimer savoir comment faire pour que le widget text(qui me se Tkinter [ par williammalavelle ] Bonjour à tous, Question stupide : je débute sous Python et sous Tkinter. J'ai un script python que je souhaite lié à Tkinter (j'ai préparé les fenêt Calculateur de pH/Problème radio boutton [ par adriber ] Bonjour je me suis lancé dans un projet de calculateur de ph (chimie). Je suis face à un dernier problème (et non des moindres). Voici mon code: [code Tkinter et les bases de données [ par dahrprog ] Bonjour tout le monde :) , je suis débutant en Python et Tkinter , je peux fabriquer des interfaces sur Tkinter , et je j'aimerais bien manipuler des Selecteur de couleur [ par PunkFloyd91 ] Bonjour, je suis débutant et essais de créer un petit logiciel de traitement d'images du style "paint" en python 3 avec la 'library' de tkinter. Je ch 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


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 6,334 sec (3)

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