Search code examples
pythonqtpyqtqtreewidgetqtreewidgetitem

How to set QTreeWidgetItem as not Editable


After creating an item and setting it to as being editable:

item=QtGui.QTreeWidgetItem()
item.setFlags(item.flags() | QtCore.Qt.ItemIsEditable)

I want to reset all item's flags and set this item back to non-editable.

What would be correct syntax to achieve this?


Solution

  • You just have to perform the inverse operation you did as the Qt flags are bitwise.

    item.setFlags(item.flags() & ~QtCore.Qt.ItemIsEditable)
    

    The default value for flags is Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled in case you want to set back the default behavior for the QTreeWidget.