【发布时间】:2018-05-01 22:09:44
【问题描述】:
我将自己的表模型与 QAbstractTableModel 一起使用,其中我的第一个 col 带有复选框(可检查的原因标志 Qt.ItemIsUserCheckable | Qt.ItemIsSelectable | Qt.ItemIsEnabled)。我在尝试使用复选框时遇到问题,因为它们在显示的表格中是不可检查的(不能在them 中进行检查或取消检查)。
我做错了什么?我在自己的表模型类中使用这些方法:
def data(self, index, role):
row = index.row()
col = index.column()
if role == Qt.DisplayRole:
return '{0}'.format(self.tableData[row][col])
if role == Qt.CheckStateRole:
if col == 0:
return Qt.Unchecked
else:
return None
def setData(self, index, value, role):
if not index.isValid():
return False
if (role == Qt.CheckStateRole):
if (index.data(Qt.CheckStateRole) == Qt.Checked):
return True
else:
return False
else:
return False
【问题讨论】:
标签: python pyqt pyqt4 qabstracttablemodel qcheckbox