[python] à quoi sert le focus ???
Résolu
Todesfall
Messages postés
70
Date d'inscription
Statut
Membre
Dernière intervention
-
fazzer -
fazzer -
Bonjour,
J'aimerai savoir à quoi sert le focus dans python ainsi que cette commande focus_set()
merci, d'avance !!!
J'aimerai savoir à quoi sert le focus dans python ainsi que cette commande focus_set()
merci, d'avance !!!
A voir également:
- Tkinter focus()
- Helicon focus - Télécharger - Photo & Graphisme
- Focus writer - Télécharger - Traitement de texte
- Focus magic - Télécharger - Photo & Graphisme
- Firefox focus mac - Télécharger - Navigateurs
- Firefox focus - Télécharger - Navigateurs
54 réponses
Voilà c'est corrigé. Le menu n'était pas créé correctement:
# -*- coding: iso-8859-1 -*- from Tkinter import * import Tkinter import Tkinter as Tk class propos(Tkinter.Toplevel): def __init__(self,parent): Tkinter.Toplevel.__init__(self,parent) #self.title('A propos de ...') self.parent = parent self.initialize() def initialize(self): test = 0 champNum1 = Tkinter.IntVar() text1 = Tkinter.Label(self, text = "Dossier Machine 2007").grid(row = 0, sticky = W) text2 = Tkinter.Label(self, text = "Part of *** Edition 2007").grid(row = 1, sticky = W) text3 = Tkinter.Label(self, text = "Copyright (c) ***. Tous droits réservés.").grid(row = 2, sticky = W) text4 = Tkinter.Label(self, text = "Version 1.01").grid(row = 3, sticky = W) text5 = Tkinter.Label(self, text = "Licence d'utilisation accordée à :").grid(row = 4, sticky = W) text6 = Tkinter.Label(self, text = " - ***").grid(row = 5, sticky = W) button = Tkinter.Button(self, text = "OK", width = 15, textvariable = champNum1, command = self.destroy) button.grid(row = 6, column = 0) button.focus_set() class monessai(Tkinter.Toplevel): def __init__(self,parent): Tkinter.Toplevel.__init__(self,parent) self.title('test_entry') self.parent = parent self.initialize() def initialize(self): self.champText1 = Tkinter.StringVar() text1 = Tkinter.Label(self, text = "reponse").grid(row = 0, sticky = W) entr1 = Tkinter.Entry(self, textvariable = self.champText1).grid(row = 0, column = 1) button = Tkinter.Button(self, text = "OK", width = 15, command = self.recup_donnee) button.grid(row = 6, column = 0) button.focus_set() def recup_donnee(self): test = self.champText1.get() print test class Application(Tkinter.Tk): """Application principale""" def __init__(self, parent = None): Tkinter.Tk.__init__(self) self.parent = parent self.title('Dossier Machine') self.configure(menu=self.createMenu()) self.can = Canvas(self,bg='light grey', height = 190, width=250, borderwidth = 2) self.can.pack() def createMenu(self): menubar = Tkinter.Menu(self) ### Menu <Fichier> ### me1 = Menu(menubar) me1.add_command(label = 'Nouveau dossier machine', underline = 0) me1.add_command(label = 'Nouveau dossier machine avec aide', underline = 1) me1.add_separator() me1.add_command(label = 'Imprimer', underline = 0) me1.add_separator() me1.add_command(label = 'Quitter', underline = 0, command = self.quit) menubar.add_cascade(label="Fichier", menu=me1) ### Menu <Edition> ### me2 = Menu(menubar) me2.add_command(label = 'Copier', underline = 4) me2.add_command(label = 'Coller', underline = 1) menubar.add_cascade(label="Edition", menu=me2) ### Menu <Aide> ### me3 = Menu(menubar) me3.add_command(label = 'Aide', underline = 0, command = self.essai) me3.add_separator() me3.add_command(label = 'A propos de...', underline = 7, command = self.propos) menubar.add_cascade(label="Aide", menu=me3) return menubar def propos(self): propos(self) def essai(self): monessai(self) if __name__ == '__main__': app = Application() app.mainloop()
OK Merci c cool, mais comment détruire la fenetre après que j'ai recup mon entry.
Voir les lignes que j'ai ajoutée/modifiées en gras:
Voir les lignes que j'ai ajoutée/modifiées en gras:
# -*- coding: iso-8859-1 -*- from Tkinter import * import Tkinter import Tkinter as Tk class propos(Tkinter.Toplevel): def __init__(self,parent): Tkinter.Toplevel.__init__(self,parent) #self.title('A propos de ...') self.parent = parent self.initialize() def initialize(self): test = 0 champNum1 = Tkinter.IntVar() text1 = Tkinter.Label(self, text = "Dossier Machine 2007").grid(row = 0, sticky = W) text2 = Tkinter.Label(self, text = "Part of *** Edition 2007").grid(row = 1, sticky = W) text3 = Tkinter.Label(self, text = "Copyright (c) ***. Tous droits réservés.").grid(row = 2, sticky = W) text4 = Tkinter.Label(self, text = "Version 1.01").grid(row = 3, sticky = W) text5 = Tkinter.Label(self, text = "Licence d'utilisation accordée à :").grid(row = 4, sticky = W) text6 = Tkinter.Label(self, text = " - ***").grid(row = 5, sticky = W) button = Tkinter.Button(self, text = "OK", width = 15, textvariable = champNum1, command = self.destroy) button.grid(row = 6, column = 0) button.focus_set() class monessai(Tkinter.Toplevel): def __init__(self,parent): Tkinter.Toplevel.__init__(self,parent) self.title('test_entry') self.parent = parent self.initialize() def initialize(self): self.champText1 = Tkinter.StringVar() text1 = Tkinter.Label(self, text = "reponse").grid(row = 0, sticky = W) entr1 = Tkinter.Entry(self, textvariable = self.champText1).grid(row = 0, column = 1) button = Tkinter.Button(self, text = "OK", width = 15, command = self.recup_donnee) button.grid(row = 6, column = 0) button.focus_set() def recup_donnee(self): self.valeur = self.champText1.get() self.destroy() class Application(Tkinter.Tk): """Application principale""" def __init__(self, parent = None): Tkinter.Tk.__init__(self) self.parent = parent self.title('Dossier Machine') self.configure(menu=self.createMenu()) self.can = Canvas(self,bg='light grey', height = 190, width=250, borderwidth = 2) self.can.pack() def createMenu(self): menubar = Tkinter.Menu(self) ### Menu <Fichier> ### me1 = Menu(menubar) me1.add_command(label = 'Nouveau dossier machine', underline = 0) me1.add_command(label = 'Nouveau dossier machine avec aide', underline = 1) me1.add_separator() me1.add_command(label = 'Imprimer', underline = 0) me1.add_separator() me1.add_command(label = 'Quitter', underline = 0, command = self.quit) menubar.add_cascade(label="Fichier", menu=me1) ### Menu <Edition> ### me2 = Menu(menubar) me2.add_command(label = 'Copier', underline = 4) me2.add_command(label = 'Coller', underline = 1) menubar.add_cascade(label="Edition", menu=me2) ### Menu <Aide> ### me3 = Menu(menubar) me3.add_command(label = 'Aide', underline = 0, command = self.essai) me3.add_separator() me3.add_command(label = 'A propos de...', underline = 7, command = self.propos) menubar.add_cascade(label="Aide", menu=me3) return menubar def propos(self): propos(self) def essai(self): m = monessai(self) self.wait_window(m) # On attend la fermeture de la fenêtre. print "La valeur entree est ",m.valeur if __name__ == '__main__': app = Application() app.mainloop()
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ok merci c'est vraiment gentil à toi. Tout ce que tu as fait pour moi va beaucoup m'aider alors encore merci. Si j'ai encore des problème je renvoie un message.
Je suis content d'avoir pu aider.
N'hésite pas à consulter le wiki francophone, il y a plein d'informations utiles:
http://wikipython.flibuste.net/
N'hésite pas à consulter le wiki francophone, il y a plein d'informations utiles:
http://wikipython.flibuste.net/
excuse moi mais j'ai un petit problème je te met le code :
Quand je fais fichier nouveau dossier machine, il me demande le nombre de code main et suivant le résultat je lui met il n'affiche pas le nombre correct de fenetre que je veu. Essaye le. Comment faire pour le fasse autant de fois que je veux ?
# -*- coding: iso-8859-1 -*- ################################ # Import des librairies utiles # ################################ import sys, time, os, os.path, shutil from pprint import * #~ import time import locale from Tkinter import * import Tkinter import Pmw class liste_equipement_nb_code(Tkinter.Toplevel): def __init__(self, parent): Tkinter.Toplevel.__init__(self, parent) self.title('Liste des équipements') self.parent = parent self.suite() def suite(self): self.champNum1 = Tkinter.StringVar() text1 = Tkinter.Label(self, text = "Quel est le nombre de code maintenance ? ").grid(row = 0, sticky = W) entr1 = Tkinter.Entry(self, textvariable = self.champNum1, width = 4) entr1.grid(row = 0, column = 1) entr1.focus_set() ok = Tkinter.Button(self, text = "OK", width = 15, command = self.recup_nb_code).grid(row = 1, column = 1) def recup_nb_code(self): self.nb_code = self.champNum1.get() self.destroy() class liste_equipement_code(Tkinter.Toplevel): def __init__(self, parent): Tkinter.Toplevel.__init__(self, parent) self.title('Liste des équipements') self.parent = parent self.suite() def suite(self): self.champText1 = Tkinter.StringVar() self.champText2 = Tkinter.StringVar() self.champText3 = Tkinter.StringVar() text1 = Tkinter.Label(self, text = "Code maintenance : ").grid(row = 0, sticky = W) text2 = Tkinter.Label(self, text = "Equipement à configurer : ").grid(row = 1, sticky = W) text3 = Tkinter.Label(self, text = "Opérations à réaliser : ").grid(row = 2, sticky = W) entr1 = Tkinter.Entry(self, textvariable = self.champText1, width = 7) entr1.grid(row = 0, column = 1) entr1.focus_set() entr2 = Tkinter.Entry(self, textvariable = self.champText2, width = 45).grid(row = 1, column = 1) entr3 = Tkinter.Entry(self, textvariable = self.champText3, width = 45).grid(row = 2, column = 1) ok = Tkinter.Button(self, text = "OK", width = 15, command = self.recup_code).grid(row = 3, column = 1) def recup_code(self): self.code = self.champText1.get() self.equipement = self.champText2.get() self.operation = self.champText3.get() self.destroy() class Application(Tkinter.Tk): """Application principale""" def __init__(self, parent = None): Tkinter.Tk.__init__(self) self.parent = parent self.title('Dossier Machine') self.configure(menu=self.createMenu()) self.can = Canvas(self,bg='light grey', height = 190, width=250, borderwidth = 2) self.can.pack() def createMenu(self): menubar = Tkinter.Menu(self) ### Menu <Fichier> ### me1 = Menu(menubar) me1.add_command(label = 'Nouveau dossier machine', underline = 0, command = self.nouveau_dossier) me1.add_command(label = 'Nouveau dossier machine avec aide', underline = 1) me1.add_separator() me1.add_command(label = 'Imprimer', underline = 0) me1.add_separator() me1.add_command(label = 'Quitter', underline = 0, command = self.quit) menubar.add_cascade(label="Fichier", menu=me1) ### Menu <Edition> ### me2 = Menu(menubar) me2.add_command(label = 'Copier', underline = 4) me2.add_command(label = 'Coller', underline = 1) menubar.add_cascade(label="Edition", menu=me2) ### Menu <Aide> ### me3 = Menu(menubar) me3.add_command(label = 'Aide', underline = 0) me3.add_separator() me3.add_command(label = 'A propos de...', underline = 7) menubar.add_cascade(label="Aide", menu=me3) return menubar def nouveau_dossier(self): equipement_nb_code = liste_equipement_nb_code(self) self.wait_window(equipement_nb_code) nb_code = equipement_nb_code.nb_code print nb_code i = 0 lst_code = [] lst_equipement = [] lst_operation = [] while i < nb_code: equipement_code = liste_equipement_code(self) self.wait_window(equipement_code) i = i+1 print i if __name__ == '__main__': app = Application() app.mainloop()
Quand je fais fichier nouveau dossier machine, il me demande le nombre de code main et suivant le résultat je lui met il n'affiche pas le nombre correct de fenetre que je veu. Essaye le. Comment faire pour le fasse autant de fois que je veux ?
Juste avant le while, ajoute:
Et là tu verra:
Autrement dit tu es en train de comparer une chaine avec un nombre :-)
Pour que ça marche correctement, il faudrait remplacer la ligne:
par:
print type(nb_code),type(i)
Et là tu verra:
<type 'str'> <type 'int'>
Autrement dit tu es en train de comparer une chaine avec un nombre :-)
Pour que ça marche correctement, il faudrait remplacer la ligne:
self.nb_code = self.champNum1.get()
par:
self.nb_code = int(self.champNum1.get())
Bonjour, ce n'est pas un problème que j'ai cette fois-ci !!!!!!
Lorsque je lance mon programme j'ai plusieurs fenetre qui s'ouvre les unes après les autres et elles ne sont jamais à la même place.
Comment faire pour qu'elle s'ouvre toujours au même endroit ?
Lorsque je lance mon programme j'ai plusieurs fenetre qui s'ouvre les unes après les autres et elles ne sont jamais à la même place.
Comment faire pour qu'elle s'ouvre toujours au même endroit ?