From 380649105abbb1683ef5191a5f1bae0ca5bcbc58 Mon Sep 17 00:00:00 2001 From: Orsiris de Jong Date: Wed, 22 Oct 2025 19:20:10 +0200 Subject: [PATCH] Add delete function to treedata Allows to delete treedata entries by key --- FreeSimpleGUI/elements/tree.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/FreeSimpleGUI/elements/tree.py b/FreeSimpleGUI/elements/tree.py index ac2bccf6..d68ab3f9 100644 --- a/FreeSimpleGUI/elements/tree.py +++ b/FreeSimpleGUI/elements/tree.py @@ -470,6 +470,26 @@ def insert(self, parent, key, text, values, icon=None): parent_node = self.tree_dict[parent] parent_node._Add(node) + def delete(self, key): + if key is None: + return False + try: + node = self.tree_dict[key] + key_list = [ + key, + ] + parent_node = self.tree_dict[node.parent] + parent_node.children.remove(node) + while key_list != []: + temp = [] + for item in key_list: + temp += self.tree_dict[item].children + del self.tree_dict[item] + key_list = temp + return True + except KeyError: + return False + def __repr__(self): """ Converts the TreeData into a printable version, nicely formatted