Comment modifier après coup une fenêtre python
Résolu/FerméPr.Witherfire Messages postés 79 Date d'inscription samedi 5 novembre 2022 Statut Membre Dernière intervention 25 février 2023 - 22 nov. 2022 à 07:38
- Comment modifier après coup une fenêtre python
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Comment modifier un pdf - Guide
- Modifier une story facebook - Guide
- Citizen code python avis - Accueil - Outils
7 réponses
21 nov. 2022 à 18:48
bonjour,
ajoute un print() après la ligne 4, cela t'aidera à comprendre ce qui se passe.
"après coup", c'est quand, en réalité?
Modifié le 21 nov. 2022 à 18:55
Merci mais je met quoi entre les parenthèses ?
Après coup, c'est plus tard dans le code n'importe ou
Merci
21 nov. 2022 à 19:00
par exemple print("après mainloop")
21 nov. 2022 à 19:01
Ceci, alors:
from tkinter import* F = Tk() F.title("yes") F.title("no") F.mainloop()
Modifié le 21 nov. 2022 à 19:03
Ok merci beaucoup mais du coup, si j'ai bien compris, des que la fenêtre va s'afficher, elle s'appellera no,non?
21 nov. 2022 à 19:14
Tu n'as pas répondu à ma question : ""après coup", c'est quand, en réalité?".
Tu veux le faire par un bouton, après un délai, avant ou après que la fenêtre soit interactive?
21 nov. 2022 à 19:19
Après un délai si possible (une fois que environ 5 secondes soit passées avec la fenêtre d'intro)
21 nov. 2022 à 19:22
import tkinter import time F = tkinter.Tk() F.title("yes") F.update() time.sleep(5) F.title("no") F.mainloop()
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question21 nov. 2022 à 19:58
Ok merci infiniment,
Pr Witherfire
21 nov. 2022 à 21:16
La fenêtre devient "interactive" après mainloop(), les boutons commenceront à fonctionner, par exemple. Il existe d'autres techniques pour programmer des actions après l'appel à mainloop().
Merci, le moment venu, de marquer la discussion comme résolue.
Bonsoir.
Changer le contenu d'une fenêtre, c'est jouer avec les pack*, grid* et destroy.
Exemple avec 2 fonctions, une affichant une intro, l'autre le programme principal. On peut cliquer sur le texte pour passer au programme principal qui sera de toute façon lancé après 5 secondes.
import tkinter as tk WIDTH = 800 HEIGHT = 600 def main_app_run(window, previous_frame=None): window.title("Principal - Ciquez sur le texte pour quitter") frame_main = tk.Frame(window, bg="blue", width=WIDTH, height=HEIGHT) frame_main.grid_propagate(0) frame_main.grid_columnconfigure(0, weight=1) frame_main.grid_rowconfigure(0, weight=1) label_app = tk.Label( frame_main, text="programme\nprincipal", bg="darkBlue", fg="lightBlue", font=("", 80), ) label_app.grid() if previous_frame is not None: previous_frame.destroy() frame_main.grid(sticky=tk.NSEW) label_app.bind("<Button-1>", lambda evt: window.destroy()) def intro_app_run(window): window.title("Cliquez sur le texte !" ) frame_intro = tk.Frame(window, bg="yellow", width=WIDTH, height=HEIGHT) frame_intro.grid(sticky=tk.NSEW) frame_intro.grid_propagate(0) frame_intro.grid_columnconfigure(0, weight=1) frame_intro.grid_rowconfigure(0, weight=1) label_intro = tk.Label( frame_intro, text="Introduction", bg="orange", fg="black", font=("", 64) ) label_intro.grid() label_intro.bind("<Button-1>", lambda evt: main_app_run(window, frame_intro)) frame_intro.after(5000, main_app_run, window, frame_intro) window = tk.Tk() intro_app_run(window) window.mainloop()
Rien de bien compliqué ici, peut-être les fonctions nécessaires aux bons dimensionnements des frames. Bien évidemment ce n'est qu'un exemple, on peut à loisir changer le contenu des frames.
22 nov. 2022 à 07:38
Ok merci beaucoup