0
をしようと、私はアプリケーションを閉じたいときとき、私は次のエラーを取得する:エラーTkinterのキャンバスからアイテムを削除する
Exception _tkinter.TclError: 'invalid command name ".47045488"' in <bound method
RootJoint.__del__ of <skeleton.RootJoint object at 0x0000000002CDDBA8>> ignored
そして、ここではRootJoint
から関連する部分である:
そして、これキャンバスとルートジョイントが作成される場所です:
def main():
root = tk.Tk()
root.geometry('640x480')
canvas = tk.Canvas(root)
canvas.pack(fill=tk.BOTH, expand=True)
rootjoint = skeleton.RootJoint(canvas)
root.mainloop()
なぜこのエラーが表示されるのですか?どうすれば修正できますか?
を削除されることは '「」'キャンバス全体が破壊されたときに放出された場合、もしくはです現在のオブジェクトは破壊されますか?実行中に画面からジョイントを削除する必要があるので、これが重要です。 –
キャンバスへの最後の参照はどのように失われていますか?ルートジョイントはキャンバスへの独自の参照を持ちます。 –
あなたはいつもそれらのアイテムを削除できますが、__del__ではそれは遅すぎます:最後のチャンスはonDestroyです – User