Tkinter展示信息Python 3

7

我正在尝试使用以下方法显示信息窗口:

tkinter.messagebox.showinfo("info", "message")

然而,当我使用from tkinter import *时,出现了错误。

如果我也导入import tkinter.messagebox,问题就得到了解决。

所以我很困惑。难道from tkinter import *不应该导入tkinter中的所有东西吗?

4个回答

6
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)

你只需要从tkinter导入messagebox,然后使用messagebox。(例如)showinfo("测试","blablablabla")


5

from tkinter import *会加载Tkinter的__init__.py,但不包括messagebox。为了解决这个问题,我们需要执行import tkinter.messagebox来加载messagebox的__init__.py


4
如果你使用from module import x 的格式,那么你不需要在导入的资源前面加上模块名。所以尝试这样写:
messagebox.showinfo("info", "message")

如果您这样导入:import tkinter.messagebox,那么您需要使用模块进行引用,这就是为什么在这种情况下不会出现错误的原因。

2
您可以尝试使用此方法访问messagebox方法。
import tkinter as tk

tk.messagebox.showinfo("info name","This is a Test")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接