Bonjour,
J'ouvre un sujet que je pense fermer quand les divers sous-sujets auront été abordés.
J'ai réalisé ma première interfaceC'est cool, mais c'est pas tout à fait ce que je voulait. C'est, comment dire, bordélique oh pas possible ! On y retrouverais plus un "self" d'un "parent", d'un "button", d'un "entry"...
J'ai donc décidé de refaire à zero, ou presque. En effet, j'ai basculé l'ossature du soft avec l'utilisation de classes. C'est plus propre visuellement. Avant de partir dans tous les sens, j'aimerais faire le point sur ce qui manque sur la précédente interface.
- Le redimensionnement ne fonctionne que partiellement (quand la fenêtre s'agrandit uniquement) - J'aimerais donc que ça fonctionne en X et en Y y compris quand nous redimensionnons la fenêtre en plus grand, comme en plus petit
- L'ergonomie est à revoir. Certains boutons sont positionner loin de leur utilités (revoir donc leurs positions)
- Les éléments de saisie ne sont pas clairs et trop rapprochés (il faudra ajouter des box avec des noms...)
- Certaines fonctions impliqueront des modifications des champs de saisie ; certains champs ne doivent pas être modifiable. Il faudra voir comment ça peut se protéger au final.
J'ai donc attaqué une base saine dans lequel j'aimerais faire des essais. C'est mon point de départ :
Je dois disposer d'un menu, en haut avec:
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 import tkinter as tk #Variable custom vers = "1.0" name = "Test TKINTER" class Appli(tk.Frame): def __init__(self, parent): self.parent = parent tk.Frame.__init__(self, parent) def main(): win = tk.Tk() Appli(win).pack(side = "top", fill = "both", expand = True) win.title(name + " - V " + vers) win.resizable(True, True) win.geometry("1080x600+100+20") win.minsize(360, 200) win.mainloop() if __name__ == "__main__": main()
J'avais utilisé la première fois un bout de code :File
+New
+Save
+Save as
+ Close
Ma première question, avant d'aller plus loin, c'est comment je vais intégrer le menu à ma classe ? Est-ce que je peux le placer dans un def menu(): ou même une classe ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 #Widget Menu menuBar = Menu(root) fileMenu = Menu(menuBar, tearoff = 0) fileMenu.add_command(label = "Open", command = cmdOpen) fileMenu.add_command(label = "Save", command = cmdSave) fileMenu.add_command(label = "Save as", command = cmdSaveAs) menuBar.add_cascade(label = "File", menu = fileMenu) root.config(menu=menuBar)
Merci pour vos suggestions, la discussion est ouverte![]()
Partager