Как сделать QTreeWIdgetItems редактируемые выборочно
Все клетки в настоящее время доступны для редактирования (редактируемые на двойной щелчок). Мне нужен только столбец 0 для редактирования, а все остальные нет. Как это достичь?
from PyQt4 import QtCore, QtGui
app = QtGui.QApplication([])
class Tree(QtGui.QTreeWidget):
def __init__(self, *args, **kwargs):
super(Tree, self).__init__()
for i, item_name in enumerate(['Item_1','Item_2','Item_3','Item_4','Item_5']):
rootItem = QtGui.QTreeWidgetItem()
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 = QtGui.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.resize(360,240)
self.show()
tree=Tree()
app.exec_()
Смотрите здесь: http://stackoverflow.com/questions/2801959/making-only-one-column-of-a-qtreewidgetitem-editable Второй ответ. Тем не менее, я немного не уверен в предоставлении ответа на Python. – AlexanderVX