пока решил проблему следующим образом, повесил обработчики на события двойного клика и изменение текущего элемента
self.connect(self.ui.list, QtCore.SIGNAL('itemDoubleClicked(QTreeWidgetItem *, int)'), gui.functions_gui.doubleClick)
self.connect(self.ui.list, QtCore.SIGNAL('currentItemChanged (QTreeWidgetItem *, QTreeWidgetItem *)'), gui.functions_gui.currentItemChanged)
и вот как их обработал:
def doubleClick(item, column):
'''
обработка двойного клика по списку, с целью редактирования
'''
if column == 1 : # для второй колонки есть редактирование, для других не будет
item.treeWidget().openPersistentEditor(item, column) # начало редактирования
def currentItemChanged(current, previous):
'''
событие изменение айтема
'''
try:
tree = current.treeWidget()
for col in xrange(tree.columnCount()):
tree.closePersistentEditor(previous, col) # окончание редактирования
except:
pass
В принципе работает, но я ищу другие способы…
Хотелось бы всё же через флаги..