查看 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)))