How to deal with "AttributeError: '_tkinter.tkapp' object has no attribute 'messagebox'"?

How to deal with "AttributeError: '_tkinter.tkapp' object has no attribute 'messagebox'"?

我最近在研究'tkinter'。 Pycharm告诉我这里没有'messagebox',但是'messagebox.py'确实存在于我的'tkinter'。 我从网上得到的很多方法都不能解决这个问题。 请帮助我,我将不胜感激。

greet_button = Button(
    table,
    text = 'Yes',
    width = 20,
    height = 2,
    bg = 'yellow',
    fg = 'red',
    command = table.messagebox.showinfo(title='Hello', message='Hello!')
)

一些 tkinter 包需要额外导入,如 ttk、ttkthemes 或 messagebox。

import tkinter as tk
from tkinter import messagebox

root = tk.Tk()
def err():
    tk.messagebox.showinfo(title='hello', message='hello')

erro = tk.Button(root, text="Top", command=err)
erro.pack()

root.mainloop()

作为 oneliner 你需要 annonymus function:

import tkinter as tk
from tkinter import messagebox

root = tk.Tk()

erro = tk.Button(root, text="Top", command=lambda:tk.messagebox.showinfo(title='hello', message='hello'))
erro.pack()

root.mainloop()