尝试创建同一个类的多个实例时,无法解决_tkinter.tkapp对象错误

时间:2018-05-28 14:45:50

标签: python tkinter pickle

由于这个问题,我真的很沮丧。我之前已经拥有它并且我修复了它,但是当我在代码中更改了某些内容时它又回来了。确切地说,当我按下按钮时,我试图创建一个类的多个实例。我正在使用python 3.6和tkinter。当我第一次写我的课时,我使用了一个矩形(使用create_rectangle方法创建)来进行可视化表示。在我的课程按照我想要的方式表现之后,我想在照片上使用照片而不是矩形。由于标题出现了我的主要错误,因此不能腌制_tkinter.tkapp对象"在此之前,有很多关于deepcopy的错误。这是完整错误https://pastebin.com/nAQifmnA

在使用图片之前,此修复工作正常Can't pickle _tkinter.tkapp objects

我忘了提及,因为我正在使用PhotoImage类。

这是我尝试创建更多类的实例的地方。这个方法在实际的类中,也许这就是问题所在?我尝试了不同的东西,但他们没有工作。

def newAdd():
      global And_list
      test=AND(10,10)
      And_list.append(deepcopy(test))
      And_list =listRecord()

1 个答案:

答案 0 :(得分:1)

Tkinter小部件和画布项只是嵌入式tcl解释器中存在的对象的精简包装器。您不能使用deepcopypickle来创建多个实例,因为这些命令对嵌入式tcl解释器一无所知。如果需要多个实例,则必须调用相应的tkinter函数。