由于这个问题,我真的很沮丧。我之前已经拥有它并且我修复了它,但是当我在代码中更改了某些内容时它又回来了。确切地说,当我按下按钮时,我试图创建一个类的多个实例。我正在使用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()
答案 0 :(得分:1)
Tkinter小部件和画布项只是嵌入式tcl解释器中存在的对象的精简包装器。您不能使用deepcopy
或pickle
来创建多个实例,因为这些命令对嵌入式tcl解释器一无所知。如果需要多个实例,则必须调用相应的tkinter函数。