TypeError: 'module' object is not callable
Résolu
firpic
Messages postés
101
Statut
Membre
-
firpic Messages postés 101 Statut Membre -
firpic Messages postés 101 Statut Membre -
Bonjour, avant que vous me le dite, j'ai d'abord regarder sur internet si il y avait une solution mais aucune ne fonctionne. Comme dit dans le titre, l'objet 'module' ne peut pas etre appele, je comprend pas alors que sur un autre scripts, la meme ligne fonctionne,
Voici la ligne qui pose porbleme:
Et voici l'erreur :
voici mon code au complet :
Voici la ligne qui pose porbleme:
root = tk()
Et voici l'erreur :
Traceback (most recent call last):
File "g:\Mon Drive\WorkSpace\LaunchAppStream\main.py", line 4, in <module>
root = tk()
TypeError: 'module' object is not callable
voici mon code au complet :
import tkinter as tk
from PIL import ImageTk, Image
root = tk()
class App(tk.Tk(), root):
frame = tk.frame(root, padding=10)
def __init__(self):
tk.Tk.__init__(self)
self.Widget()
def Widget(self, root, frame, ImageLoad, ContentFrame, CommandBtn):
self.frame.pack()
# pack
self.Name.pack(side=TOP)
self.NetflixLogo.pack(side=LEFT)
self.DisneyPlusLogo.pack(side=LEFT)
self.AnimeDigitalNetworkLogo.pack(side=LEFT)
self.YoutubeLogo.pack(side=LEFT)
self.FirefoxLogo.pack(side=LEFT)
self.QuitBtn.pack(side=BOTTOM)
def ImageLoad(self):
# Logo des service de streaming
self.NetflixImg = ImageTk.PhotoImage(Image.open("src/netflix.jpg"))
self.DisneyPlusImg = ImageTk.PhotoImage(Image.open("src/disneyplus.jpg"))
self.AnimeDigitalNetworkImg = ImageTk.PhotoImage(Image.open("src/animedigitalnetwork.jpg"))
self.YoutubeImg = ImageTk.PhotoImage(Image.open("src/youtube.jpg"))
self.FirefoxImg = ImageTk.PhotoImage(Image.open("src/firefox.jpg"))
def ContentFrame(self, frame, root):
# contenu de la frame
# title
self.Name = tk.Label(frame, anchor='n', text="Menu")
# image
self.NetflixLogo = tk.Button(frame, command=NetflixF(), image=NetflixImg)
self.DisneyPlusLogo = tk.Button(frame, command=DisneyPlusF(), image=DisneyPlusImg)
self.AnimeDigitalNetworkLogo = tk.Button(frame, command=AnimeDigitalNetworkF(), image=AnimeDigitalNetworkImg)
self.YoutubeLogo = tk.Button(frame, command=YoutubeF(), image=YoutubeImg)
self.FirefoxLogo = tk.Button(frame, command=FirefoxF(), image=FirefoxImg)
# button
self.QuitBtn = tk.Button(frame, text="Quitter", command=root.destroy)
class CommandBtn():
# fonction
def NetflixF(self):
print("Netflix")
def DisneyPlusF(self):
print("DisneyPlus")
def AnimeDigitalNetworkF(self):
print("Anime Digital Network")
def YoutubeF(self):
print("Youtube")
def FirefoxF(self):
print("Firefox")
root.mainloop()
A voir également:
- Typeerror: 'module' object is not callable
- 'Float' object is not subscriptable - Meilleures réponses
- Typeerror: 'int' object is not callable - Meilleures réponses
- What is my movie français - Télécharger - Divers TV & Vidéo
- Shockwave flash object - Télécharger - Divers Web & Internet
- Pas de module ci - Forum TV & Vidéo
- Manque cam module - Forum TNT / Satellite / Réception
- Selected file is not a proper bios ✓ - Forum Windows 10
1 réponse
yg_be
Messages postés
24281
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 585
bonjour,
tu peux supprimer cette ligne, elle ne sert à rien dans ton code.
tu peux supprimer cette ligne, elle ne sert à rien dans ton code.
l'import ici est parfait, et tu dois donc faire
mais voici la nouvelle erreur:
Mais je ne comprend pas alors que j'ai mis ces 3 arguments dans .
Et voici le nouveau code :
import tkinter as tk from PIL import ImageTk, Image class App(tk.Tk): def __init__(self, ImageLoad, ContentFrame, CommandBtn): tk.Tk.__init__(self, ImageLoad, ContentFrame, CommandBtn) self.Widget(ImageLoad, ContentFrame, CommandBtn) def Widget(self, ImageLoad, ContentFrame, CommandBtn): ImageLoad() ContentFrame() CommandBtn() # pack self.Name.pack(side=TOP) self.NetflixLogo.pack(side=LEFT) self.DisneyPlusLogo.pack(side=LEFT) self.AnimeDigitalNetworkLogo.pack(side=LEFT) self.YoutubeLogo.pack(side=LEFT) self.FirefoxLogo.pack(side=LEFT) self.QuitBtn.pack(side=BOTTOM) def ImageLoad(self): # Logo des service de streaming self.NetflixImg = ImageTk.PhotoImage(Image.open("src/netflix.jpg")) self.DisneyPlusImg = ImageTk.PhotoImage(Image.open("src/disneyplus.jpg")) self.AnimeDigitalNetworkImg = ImageTk.PhotoImage(Image.open("src/animedigitalnetwork.jpg")) self.YoutubeImg = ImageTk.PhotoImage(Image.open("src/youtube.jpg")) self.FirefoxImg = ImageTk.PhotoImage(Image.open("src/firefox.jpg")) def ContentFrame(self, frame, root): # contenu de la frame # title self.Name = tk.Label(frame, anchor='n', text="Menu") # image self.NetflixLogo = tk.Button(frame, command=NetflixF(), image=NetflixImg) self.DisneyPlusLogo = tk.Button(frame, command=DisneyPlusF(), image=DisneyPlusImg) self.AnimeDigitalNetworkLogo = tk.Button(frame, command=AnimeDigitalNetworkF(), image=AnimeDigitalNetworkImg) self.YoutubeLogo = tk.Button(frame, command=YoutubeF(), image=YoutubeImg) self.FirefoxLogo = tk.Button(frame, command=FirefoxF(), image=FirefoxImg) # button self.QuitBtn = tk.Button(frame, text="Quitter", command=root.destroy) class CommandBtn(): # fonction def NetflixF(self): print("Netflix") def DisneyPlusF(self): print("DisneyPlus") def AnimeDigitalNetworkF(self): print("Anime Digital Network") def YoutubeF(self): print("Youtube") def FirefoxF(self): print("Firefox") if __name__ == "__main__": app = App() app.title("Choice Launch App") app.mainloop()