Как настроить QTreeWidget для редактирования всех строк?

#python #pyqt5 #python-3.8

#python #pyqt5 #python-3.8

Вопрос:

Я создаю программное обеспечение с помощью Python и PYQT5, и мой вопрос в том, как установить редактируемые все строки в QTreeWidget ?

Вот мой код для создания строки в self.filaireTab (которая является QTreeWidget ) при нажатии кнопки:

 def plusFunction(self):
        """ Return nothing
        Add CTA parent in tab.
        """
        try:
            root = self.filaireTab.invisibleRootItem()
            child_count = root.childCount()
            string = "CTA" str(child_count 1)
            l = QTreeWidgetItem([string])
            self.filaireTab.addTopLevelItem(l)
        except:
            pass
  

Я знаю, что есть флаг для установки, это возможно в QtCreator, но в коде я нахожу только пример C , который мне совсем не помог. Спасибо за ваше время.

Ответ №1:

Вы должны использовать setFlags() with Qt.ItemIsEditable наряду с теми, которые используются по умолчанию (в противном случае вы получите отключенный элемент).

 l = QTreeWidgetItem([string])
l.setFlags(l.flags() | QtCore.Qt.ItemIsEditable)