擅长:python、mysql、java
<p>我把上面的转换成PyQt是为了我自己的目的,我想我会分享。</p>
<pre><code>def data(self, index, role):
if not index.isValid():
return None
item = index.internalPointer();
if role == Qt.CheckStateRole and index.column() == self.check_col:
return int( Qt.Checked if item.isChecked() else Qt.Unchecked )
return super(TreeModel, self).data(index, role)
def flags(self, index):
if not index.isValid():
return None
if index.column() == self.check_col:
flags = Qt.ItemIsEnabled | Qt.ItemIsSelectable | Qt.ItemIsUserCheckable
else:
flags = super(TreeModel, self).flags(index)
return flags
def setData(self, index, value, role=Qt.EditRole):
if index.column() == self.check_col:
if role == Qt.EditRole:
return False
if role == Qt.CheckStateRole:
item = self.getItem(index)
item.setChecked(value)
self.dataChanged.emit(index, index)
return True
return super(TreeModel, self).setData(index, value, role)
</code></pre>