【问题标题】:What is the difference between calling a func from a tkinter button and calling it normally?从 tkinter 按钮调用 func 和正常调用有什么区别?
【发布时间】:2022-10-16 14:35:00
【问题描述】:

有什么区别

tk.Button(root, text='load old data', command=FixRawInput.main.__init__)

FixRawInput.main.__init__()

修补图像似乎有问题;我收到这个错误

_tkinter.TclError:图像“pyimage1”不存在

但是很多事情似乎都崩溃了……

正常调用:

从 tkinter 按钮调用:

if anyone wants to see the full code

【问题讨论】:

  • “图像“pyimage1”不存在”通常意味着您在程序中不止一次调用Tk()。每个PhotoImage 对象都与Tk 的特定实例相关联,并且根本不适用于属于不同实例的小部件。
  • edit您的问题包括minimal reproducible example

标签: python tkinter


【解决方案1】:

从 tkinter 按钮调用 func 和正常调用它有什么区别?

唯一的区别是函数返回的任何东西在通过按钮调用时都不能使用,因为它是由tkinter 内部的代码调用的。除此之外,没有任何区别。

修补程序图像似乎有问题(我收到此错误“_tkinter.TclError:图像“pyimage1”不存在)

该错误意味着您创建了多个Tk 实例。 Tkinter 对象(小部件、图像等)不能在实例之间共享。如果您在一个根窗口中创建了图像,然后尝试在另一个窗口中使用它,您将得到这个确切的错误。


与所问的问题无关,它是非常不寻常的直接调用__init__ 函数。这是一个危险信号,表明您做错了事。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 2021-12-21
    • 2018-05-01
    • 2015-07-01
    • 1970-01-01
    相关资源
    最近更新 更多