J'essaie de montrer une fenêtre d'information en utilisant
tkinter.messagebox.showinfo("info", "message")
Cependant, je reçois une erreur en utilisant from tkinter import *
Le problème est résolu si j'ai aussi import tkinter.messagebox
Donc je suis confus. from tkinter import *
n'est-il pas censé tout importer à l'intérieur de tkinter
?
from tkinter import *
from tkinter import messagebox
root = Tk()
root.title("test")
root.geometry("300x300")
app = Frame(root)
app.grid()
button1 = Button(app, text = " exit " , width=2, command=exit)
button1.grid(padx=110, pady=80)
def dialog():
var = messagebox.showinfo("test" , "hoi, dit is een test als je dit leest is het gelukt")
button2 = Button(app, text = " uitleg " , width=4, command=dialog)
button2.grid()
root.mainloop(3)
vous importez juste messagebox de tkinter et vous faites messagebox (par exemple) showinfo ("test", "blablablabla")
Si vous utilisez le format from module import x
, vous ne préfixez pas les ressources importées avec le module. Alors essayez
messagebox.showinfo("info", "message")
Si vous importez comme ceci: import tkinter.messagebox
, vous le référencez avec le module, raison pour laquelle vous ne recevez pas d'erreur dans ce cas.
from tkinter import *
chargera le __init__.py
de Tkinter qui n'inclut pas la boîte de message. Pour le résoudre, nous faisons import tkinter.messagebox
qui charge le __init__.py
de la boîte de message.
Peut aussi essayer cette méthode pour accéder à la méthode messagebox
import tkinter as tk
tk.messagebox.showinfo("info name","This is a Test")