RE : Problème d'entry(décidement)
Résoluyg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour. Me revoila devant un probleme d'entry. Je poste quand meme une nouvelle discussion car ce n'est pas la meme chose.
from tkinter import * PCHIFParametres = Tk() def PCHIFoGetColor1(event): PCHIColor1 = PCHIEColor1.get() print(PCHIColor1) PCHIEColor1 = Entry(PCHIFParametres, width=30) PCHIEColor1.pack() PCHIFParametres.bind('<Return>', PCHIFoGetColor1) PCHIFParametres.mainloop()
Ceci marche
def PCHIFoParametres(): PCHIFParametres = Tk() PCHIFParametres.title("PCHI ") PCHIFParametres.resizable(0, 0) PCHIFParametres.config(bg=PCHIColor1) PCHIFParametres.geometry("400x200+200+200") def PCHIFoGetColor1(event): PCHIColor1 = PCHIEColor1.get() print(PCHIColor1) def PCHIFoGetColor2(event): PCHIColor2 = PCHIEColor2.get() print(PCHIColor2) def PCHIFoGetPolice(event): PCHIPolice = PCHIEPolice.get() print(PCHIPolice) PCHIEColor1 = Entry(PCHIFParametres, width=30) PCHIEColor1.pack() PCHIEColor2 = Entry(PCHIFParametres, width=30) PCHIEColor2.pack() PCHIEPolice = Entry(PCHIFParametres, width=30) PCHIEPolice.pack() PCHIFParametres.bind('<Return>', PCHIFoGetColor1) PCHIFParametres.bind('<Return>', PCHIFoGetColor2) PCHIFParametres.bind('<Return>', PCHIFoGetPolice) PCHIFParametres.mainloop()
Ca non.
Pouvez vous m'aider. Merci
- RE : Problème d'entry(décidement)
- Re ettre clavier azerty - Guide
- Re mail ✓ - Forum Virus
- Comment re configurer un ordinateur - Guide
- Petit papa noël piano do ré mi - Forum Musique / Radio / Clip
- Jouer joyeux anniversaire en do,ré,mi - Forum Musique / Radio / Clip
3 réponses
Bonsoir,
Je vois la définition d'une fonction PCHIFoParametres()
mais elle n'est jamais appelée, donc il ne se passe rien...
Sinon, PCHIEColor1 est l'identifiant d'une Entry, et tu essaies de t'en servir comme d'une couleur:
PCHIFParametres.config(bg=PCHIColor1)
Et ça, ce n'est pas très beau:
PCHIColor1 = PCHIEColor1.get()
tu écrases le nom de l'entry avec son contenu !
J'ajoute qu'avec les 3 bind à la fin, en appuyant sur Return, tu lances les 3 fonctions à la fois !
Décidément, Il faut vraiment que tu revoies les bases ...
bonjour,
décidément, tu ne te fatigues pas! prends le temps de nous expliquer ce qui ne marche pas dans ton second code. Surtout, prends le temps d'expliquer comment tu le testes. Teste le mieux, en mettant du texte dans PCHIEPolice, et tu constateras qu'il fonctionne partiellement.
Bonsoir,
Comme signalé, tu ne peux écraser les events ainsi, on peut toutefois le faire en utilisant le paramètre add, mais ce n'est pas ce que tu veux dans ton script.
Tu dois relier tes bind à chacun de tes entry.
Donc de ça
PCHIFParametres.bind('<Return>', PCHIFoGetColor1) PCHIFParametres.bind('<Return>', PCHIFoGetColor2) PCHIFParametres.bind('<Return>', PCHIFoGetPolice)
à
PCHIEColor1.bind('<Return>', PCHIFoGetColor1) PCHIEColor2.bind('<Return>', PCHIFoGetColor2) PCHIEPolice.bind('<Return>', PCHIFoGetPolice)
Tu devrais aussi utiliser des noms de variables plus distinctes et moins enclines à des erreurs et confusions de noms.
Oui désolé. Mais je suis "obligé" d'utiliser des noms compliqués car d'une part, afin de ne pas confondre les variables crées par l'utilisateur et les variables systèmes, je nomme les variables systèmes avec PCHI devant. Ensuite, pour m'y retrouver (cela correspond à ma logique) je leur donne un type (Fo pour fonction, F pour fenêtre, B pour bouton,ect...). Désolé pour la difficulté de lecture de mes codes qui en résulte...
Ok désolé. J'ai effectivement oublié d'appeler la fonction. Désolé aussi pour le problème de bind... :(
La couleur est PCHIColor1 et pas PCHIEColor1.