【问题标题】:tkinter showinfo python 3tkinter showinfo python 3
【发布时间】:2014-06-25 10:05:23
【问题描述】:

我正在尝试使用显示信息窗口

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

但是,我在使用 from tkinter import * 时遇到了错误

如果我也有import tkinter.messagebox,问题就解决了

所以我很困惑。 from tkinter import * 不是应该导入tkinter 中的所有内容吗?

【问题讨论】:

    标签: tkinter messagebox python-3.4


    【解决方案1】:
    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 导入消息框,然后执行消息框。(例如)showinfo("test" , "blablablabla")

    【讨论】:

      【解决方案2】:

      如果您使用from module import x 格式,则不要在导入的资源前加上模块。所以试试

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

      如果您像这样导入:import tkinter.messagebox 您在模块中引用它,这就是在这种情况下您不会收到错误的原因。

      【讨论】:

        【解决方案3】:

        from tkinter import * 将加载 Tkinter 的 __init__.py 不包含消息框,因此为了解决这个问题,我们使用 import tkinter.messagebox 加载消息框的 __init__.py

        【讨论】:

          【解决方案4】:

          也可以试试这个方法访问messagebox方法

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-08-05
            • 2022-01-21
            • 2018-08-25
            • 1970-01-01
            相关资源
            最近更新 更多