RE : Problème d'entry(décidement)
RésoluBonjour. 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
Que Notch soit avec vous
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 ...
-
Contributeur Ambassadeur
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.
-
-
@Pr.Witherfire
Ca ne te parait pas évident que si tu bind la fenêtre principale (PCHIFParametres) à Return,
en appuyant sur Return, ca va lancer les 3 fonctions en même temps ?
(d'où le problème)
-
-
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.
-
-
@Phil_1857
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...
-
@Pr.Witherfire
obligé, obligé, faut voir ...
C'est quoi une variable système ?
PCHIFoGetColor2 est une fonction
PCHIEColor1 est un nom d'entry
pourquoi PCHIE ?
J'ai déjà vu des tas de codes professionnels et ils sont plus beau que ça...
-
@Phil_1857
Une variable système, c'est une variable utilisée par le logiciel. PCHIE = PCHI(variable système)+E(Entry).
-
@Pr.Witherfire
tu te complique ben l'existence mon gars :-)
-