pyqt-editable-treewidget-example PyQt example of QTreeWidget which is editable
Intuitive enough to use, but this is for example only
Show the exmaple of adding & deleting the tree widget item in convinient way Support multiple options:make it unable to edit the parent item's name which has the child user can make the certain item not editable Convert QTreeWidget hierarchy into JSON formatconvert the QTreeWidget hierarchy into JSON format (in Python, array of Python dictionary) to save in "tree.json" Load the saved JSON content from "tree.json" and convert it into QTreeWidget when user executes the window again The each object of tree.json contains multiple properties - name of the item(name), editable flag(editable), childs of the item(data)
Key command
Enter/Return - Add new child F2 - Rename attribute Delete - Remove attribute Up/Down - Previous/next attribute Shift+Up/Down - Go parent/child attribute Context Menu
Add parent attribute Add child attribute Rename - rename the item Editable - check to make the item editable or not Code Sample
from PyQt5 .QtWidgets import QApplication from pyqt_editable_treewidget_example import MainWindow if __name__ == "__main__" :import sys app = QApplication (sys .argv )example = MainWindow ()example .show ()app .exec_ ()Result
Basic control of the treewidget
pyqt_editable_treewidget_example.mp4 Whole window (v0.0.161)