查看 Qt 官方地址 https://doc.qt.io/qt-5/qt.html 得到如下说明
默认值是 63,即如下表达式的值(位运算),表示可选择、可编辑、可拖拽、可放入、可勾选、可交互
Qt.ItemIsSelectable | Qt.ItemIsEditable | Qt.ItemIsDragEnabled | Qt.ItemIsDropEnabled | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled
分析得到如下表格
(1)二进制数从右往左数,第1位数用于声明控件是否可选择,1表示可选,0表示不可选
(2)第2位数用于声明控件是否可编辑
(3)第3位数用于声明控件是否可拖拽
(4)第4位数用于声明控件是否可放入
(5)第5位数用于声明控件是否可勾选
(6)第6位数用于声明控件是否可用,是否可交互,要启用前5个功能必须启用该项,好比总开关(重点)
item = QtWidgets.QTableWidgetItem()
item.setCheckState(Qt.Checked)
# 只能编辑,其他都不行
item.setFlags(Qt.ItemIsEnabled | Qt.ItemIsEditable)
# 只是不能编辑,其他都行
item.setFlags(
Qt.ItemIsEnabled | Qt.ItemIsUserCheckable | Qt.ItemIsSelectable | Qt.ItemIsDragEnabled | Qt.ItemIsDropEnabled)
# 或者另外一个写法
item.setFlags(Qt.ItemFlags(int("111101", 2)))