Afficher des images

Fermé
6-_- - 22 janv. 2020 à 21:44
 6-_- - 29 janv. 2020 à 19:49
Bonjour,

Je cherche à afficher des images avec un bouton skip avec ce code çi dessous
cependant cela ne fonctionne pas très bien je pense que c'est à partir de a

#Fenêtre
from tkinter import *
import tkinter as tk
mainapp = tk.Tk()
mainapp.title("The Mercenary")
mainapp.geometry("800x600")
mainapp.minsize(800,600)
mainapp.maxsize(800,600)
fenetre = mainapp
fenetre.iconbitmap("C:/Users/2SC/Desktop/python/The mercenary/0.ico")
#Lancement
root = tk.Tk()
image = tk.PhotoImage(file="1.gif")
label = tk.Label(image=image)
label.pack()
#écran d'accueil
def action1():
a=1
bouton2=tk.Tk()
bouton_skip=Button(bouton2 , text="Skip" , command=action1)
bouton_skip.pack()
bouton2.mainloop()
a=0
if a==1:
root = tk.Tk()
image = tk.PhotoImage(file="2.gif")
label = tk.Label(image=image)
label.pack()

J'ai aussi une troisième fenêtre vierge et inutile qui s'affiche.

Pouvez vous m'aidez?
A voir également:

2 réponses

Bonjour,

> J'ai aussi une troisième fenêtre vierge et inutile qui s'affiche.

Faire tk.Tk() c'est créer une fenêtre.

Ce que devrait faire ton code est :
  • Créer la fenêtre
  • Créer les images (les stocker dans un itérable est préférable).
  • Créer le label et le bouton.
  • Faire que ta fonction action1 modifie l'image du label, cela s'effectue avec la méthode configure des widgets.


Il n'y a aucun besoin de créer de nouvelles fenêtres.
0
Bonjour,
et merci de votre aide.
Si je comprends bien je dois retirer tk.Tk() et que je le remplace par Tk() et ça devrait fonctionner?
où il y a encore des modifications à faire? je pense que c'est à partir du 'a' dans 'def' et avec 'if' que cela ne marche pas
0
trifou > 6-_-
23 janv. 2020 à 16:30
> Si je comprends bien je dois retirer tk.Tk() et que je le remplace par Tk() et ça devrait fonctionner?

tk.Tk() et Tk(), c'est la même chose, d'ailleurs dans ton code, il faut s'en tenir à garder tkinter dans son espace de nom (l'alias tk), donc supprimer le
from tkinter import *
.
Comme je viens de te dire, il ne faut garder qu'une instance de Tk.

> où il y a encore des modifications à faire? je pense que c'est à partir du 'a' dans 'def' et avec 'if' que cela ne marche pas

Dans le code que tu as posté, on ne sait ce qui est dans ta fonction, car tu n'as pas utilisé les balises codes du forum pour mettre en forme ton code, le bouton
.

De toute façon dans ta fonction, tu as juste à changer l'image du label avec configure, et pas à déclarer d'autres widgets ou fenêtres.
0
ok merci pour votre réponse
0