如何设置QTreeWidget所有行可编辑?

How to set QTreeWidget all row editable?

我正在用 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++ 示例,它对我没有任何帮助。谢谢你的时间。

您必须将 setFlags()Qt.ItemIsEditable 以及默认值一起使用(否则您最终会得到禁用的项目)。

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