Bonsoir,

J'essaie de faire varier les dimensions d'un objet Frame (cadre) dans une fenêtre mais lors de l'exécution, les dimensions restent inchangées alors que si je modifie les dimensions de la fenêtre (center_window), ces dernières sont bien prises en compte lors de l'exécution.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
 
# -*- coding: utf-8 -*-
 
from tkinter import *
import sqlite3
 
class Fenetre1():
 
    nomentry=""
    prenomentry=""
 
    def __init__(self):
        self.fen = Tk()
        self.cadre = Frame(self.fen, borderwidth=10, relief="sunken", width=100, height=100)
        self.cadre.grid()
        self.center_window(500,400)
 
        ### Déclaration des variables pour récupérer les champs "entry"
        self.nomentry=StringVar()
        self.prenomentry=StringVar()
 
        ### Mise en place des deux champs de saisie
        Label(self.cadre, text="Nom :").grid(row=0,column=0,sticky=W, pady=5)
        Label(self.cadre, text="Prénom :").grid(row=1, column=0, sticky=W)
 
        self.e1 = Entry(self.cadre)
        self.e2 = Entry(self.cadre)
 
        self.e1.grid(row=0, column=1)
        self.e2.grid(row=1, column=1)
 
        ### Mise en place du bouton "quitter"
        self.bouton1 = Button(self.cadre,text="Quitter",command=self.fen.destroy)
        self.bouton1.grid(row=2,column=2,pady=10, padx=10, sticky=W)
 
        ### Mise en place du bouton "ajouter"
        self.bouton2 = Button(self.cadre,text="Ajouter", command=self.ajouter)
        self.bouton2.grid(row=2,column=0,pady=10, padx=10)
 
        ### Mise en place du bouton "supprimer"
        self.bouton3 = Button(self.cadre,text="Supprimer")
        self.bouton3.grid(row=2,column=1,pady=10, padx=10, sticky=W)
        self.fen.mainloop()
 
    def center_window(self,w=300, h=200):
        # obtenir les dimensions de l'écran
        ws = self.fen.winfo_screenwidth()
        hs = self.fen.winfo_screenheight()
        # calcul de la position x, y
        x = (ws/2) - (w/2)
        y = (hs/2) - (h/2)
        self.fen.geometry('%dx%d+%d+%d' % (w, h, x, y))
 
    def clear_entry(self):
        # Effacer les deux champs texte
        self.e1.delete(0, END)
        self.e2.delete(0, END)
 
 
    def ajouter(self):
        try:
            FichierDonnees="/home/admin73/essai/bd1.sq3"
            conn=sqlite3.connect(FichierDonnees)
            cur=conn.cursor()
 
            self.nomentry=str(self.e1.get())
            self.prenomentry=str(self.e2.get())
            cur.execute("INSERT INTO utilisateurs(nom, prenom) VALUES (?,?)",(self.nomentry,self.prenomentry))
            conn.commit()
            self.clear_entry()
        except Exception:
            print("Erreur")
            conn.rollback()
        finally:
            cur.close()
            conn.close()
 
 
if __name__ == '__main__':
    app = Fenetre1()
Quelqu'un peut-il m'aider à trouver mon erreur ?

Merci