
| Current Path : /home/ift/52_procpy/dataninja/tss/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //home/ift/52_procpy/dataninja/tss/treeViewWidGetEdit.py |
from PyQt5 import QtCore, QtGui
from PyQt5.QtWidgets import *
app = QApplication([])
class Tree(QTreeWidget):
def __init__(self, *args, **kwargs):
super(Tree, self).__init__()
self.tree = QTreeWidget()
for i, item_name in enumerate(['Item_1','Item_2','Item_3','Item_4','Item_5']):
rootItem = QTreeWidgetItem(self.tree)
rootItem.setFlags(rootItem.flags() | QtCore.Qt.ItemIsEditable)
for n in range(7):
rootItem.setText(n, 'Root %s row %s'%(i, n) )
rootItem.sceneSG={}
rootItem.sceneSG['code']='nextSceneFilename'
for number in range(5):
childItem = QTreeWidgetItem(rootItem)
childItem.setFlags(rootItem.flags() | QtCore.Qt.ItemIsEditable)
childItem.sceneSG={}
for m in range(7):
childItem.setText(m, 'Child %s row %s'%(number, m) )
rootItem.setData(100, 77, QtCore.Qt.UserRole )
self.addTopLevelItem(rootItem)
self.setColumnCount(5)
self.doubleClicked.connect(self.onDoubleClick)
self.show()
def onDoubleClick(self, index):
item = self.currentItem()
item.setFlags(item.flags() | QtCore.Qt.ItemIsEditable)
if index.column()!=0:
item.setFlags(item.flags() & ~QtCore.Qt.ItemIsEditable)
tree=Tree()
app.exec_()