1
첫 번째 열을 확인란으로 만들고 그 상태를 확인하려면 어떻게해야합니까? 플래그()를 재정의하지만 작동하지 않는 것 같습니다. 문제가있는 곳은 어디입니까?QAbstractTableModel로 확인란 만들기
그리고이 코드는 links이지만 내 코드에서도 작동합니다. 또한 너무 복잡하기 때문에 대리인을 사용하고 싶지 않습니다.
data = [['00','01','02'],
['10','11','12'],
['20','21','22']]
class MainWindow(QWidget):
def __init__(self, parent=None, *args):
super(MainWindow, self).__init__(parent)
clipTableWidget = QTableWidget()
self.model = TModel(data, self)
clipTableView = QTableView()
clipTableView.setModel(self.model)
layout = QVBoxLayout()
layout.addWidget(clipTableView)
self.setLayout(layout)
class TModel(QAbstractTableModel):
def __init__(self, datain, parent=None):
super(TModel, self).__init__(parent)
self.arraydata = datain
def rowCount(self, parent=QModelIndex()):
return len(self.arraydata)
def columnCount(self, parent=QModelIndex()):
return len(self.arraydata[0])
def data(self, index, role):
if not index.isValid():
return QVariant()
elif role != Qt.DisplayRole:
return QVariant()
return QVariant(self.arraydata[index.row()][index.column()])
def flags(self, index):
if not index.isValid():
return QVariant()
elif index.column() == 1:
return Qt.ItemIsSelectable|Qt.ItemIsEnabled|Qt.ItemIsUserCheckable
return QVariant()
여기에서 문제는 플래그를 Qt.ItemIsUserCheckable이라고 말하면서 데이터를 저장할 항목을 사용하지 않는다는 것입니다. 이 특성을 구현하려면 항목이 필요합니다. – TheCreator232