Accueil > Forum > > > > PYTHON TKINTER utilisation de labels
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
|
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
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|