Tkinter : problème positionnement labels et champs de saisie
Alpha_Delta091
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Alpha_Delta091 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Alpha_Delta091 Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai commencé récemment à coder une petite application en Python. Pour le moment j'en suis à l'écran d'accueil et j'utilise Tkinter pour l'interface graphique. J'ai créé une fenêtre TopLevel (qui se superpose sur une autre juste derrière) qui demande à l'utilisateur de rentrer un username et un mot de passe (identifiants uniques pour le moment). L'algorithme fonctionne très bien.
Le problème est, vous pourrez le constater sur le screen ci-joint, un souci d'alignement des deux labels par rapport aux champs de saisie. J'ai beau bidouiller les paramètres side et anchor, rien n'y fait, je n'arrive pas à superposer les deux labels correctement mais surtout à les aligner avec les champs de saisie qui leurs correspondent.
Sauriez-vous comment faire ? Ais-je fait une erreur quelque part ?
Bien cordialement
PS : L'intégralité du code ci-dessous
PS2: Voici ce qu'on obtient, comme vous voyez l'alignement est pas top :/

J'ai commencé récemment à coder une petite application en Python. Pour le moment j'en suis à l'écran d'accueil et j'utilise Tkinter pour l'interface graphique. J'ai créé une fenêtre TopLevel (qui se superpose sur une autre juste derrière) qui demande à l'utilisateur de rentrer un username et un mot de passe (identifiants uniques pour le moment). L'algorithme fonctionne très bien.
Le problème est, vous pourrez le constater sur le screen ci-joint, un souci d'alignement des deux labels par rapport aux champs de saisie. J'ai beau bidouiller les paramètres side et anchor, rien n'y fait, je n'arrive pas à superposer les deux labels correctement mais surtout à les aligner avec les champs de saisie qui leurs correspondent.
Sauriez-vous comment faire ? Ais-je fait une erreur quelque part ?
Bien cordialement
PS : L'intégralité du code ci-dessous
from tkinter import * import os from tkinter.messagebox import * # boîte de login from PIL import Image Fen = Tk() Fen.attributes("-fullscreen", 1) #fenetre principale en plein écran fen2 = Toplevel(Fen) Fen.title('Topnote, logiciel de saisie de livret scolaire') fen2.wm_attributes('-topmost', 1) #fenetre premier plan (pour login) et centrage de la principale Fen.eval('tk::PlaceWindow %s center' % Fen.winfo_pathname(Fen.winfo_id())) image = PhotoImage(file='fond.gif') canvas = Canvas(Fen, width=1, height=1) canvas.pack(fill=BOTH, expand=True) canvas.create_image(670, 400, image=image, anchor=CENTER) def center_window(width=100, height=20): # get screen width and height screen_width = fen2.winfo_screenwidth() screen_height = fen2.winfo_screenheight() # calculate position x and y coordinates x = (screen_width/2) - (width/2) y = (screen_height/1.2) - (height/1.2) fen2.geometry('%dx%d+%d+%d' % (width, height, x, y)) center_window(280, 100) def Verification(): if Motdepasse.get() == 'python27'and Utilisateur.get() == 'superdev': # le mot de passe est bon : on affiche une boîte de dialogue puis on ferme la fenêtre showinfo('Résultat','Connexion réussie !\nAu revoir !') fen2.destroy() else: # le mot de passe est incorrect : on affiche une boîte de dialogue showwarning('Résultat','Mot de passe et/ou identifiant incorrect(s).\nVeuillez recommencer !') Motdepasse.set('') Utilisateur.set('') # Création de la fenêtre de login fen2.title('Identification requise') # Création des widgets Labels : Nom d'utilisateur et mot de passe Label_1 = Label(fen2, text = "Nom d'utilisateur :") Label_1.pack(side = TOP, anchor=W, padx = 0, pady = 1) Label2 = Label(fen2, text = 'Mot de passe : ') Label2.pack(side = LEFT,anchor=CENTER, padx = 0, pady = 1) Utilisateur= StringVar() Champ = Entry(fen2, textvariable= Utilisateur, show='', bg ='bisque', fg='maroon') Champ.focus_set() Champ.pack(side = TOP, anchor=CENTER, padx = 0, pady =0) Motdepasse= StringVar() Champ = Entry(fen2, textvariable= Motdepasse, show='*', bg ='bisque', fg='maroon') Champ.focus_set() Champ.pack(side = TOP, anchor=CENTER, padx = 0, pady = 2) # Création d'un widget Button (bouton Valider) Bouton = Button(fen2, text ='Valider', command = Verification) Bouton.pack(side = BOTTOM, anchor=CENTER, padx = 0, pady = 0) fen2.mainloop() Fen.mainloop()
PS2: Voici ce qu'on obtient, comme vous voyez l'alignement est pas top :/

A voir également:
- Tkinter : problème positionnement labels et champs de saisie
- Tkinter tableau - Forum Python
- Probleme tkinter injustifier - Forum Python
- Pygame ou tkinter ? - Forum Python
- Probleme collision avec tkinter - Forum Python
- Problème avec grid tkinter ✓ - Forum Python