QTableView
에 셀의 색을 지정하고 싶습니다.QTableModel의 셀 배경색 변경
그래서 해당 itemData
이 해당 QTableModel
에서 변경하려고합니다.
이렇게하려면 QAbstractTableModel
클래스의 setItemData
메서드를 사용합니다. 문서에서
QAbstractItemModel::setItemData(const QModelIndex & index, const QMap < int, QVariant > & roles)
이 코드의 내 조각 :
color = QtGui.QColor(Qt.red)
self.model.setItemData(self.model.index(3,3),color,Qt.BackgroundRole)
나는이 모델의 세 번째 셀을 색상을 것이라고 생각 (수평 및 수직) 빨간색입니다.
그러나 응용 프로그램 답변 :
TypeError: QAbstractItemModel.setItemData(QModelIndex, dict-of-int-QVariant): argument 2 has unexpected type 'QColor'
나는 Qvariant
에 Qcolor
형식을 변환하려고하면 :
color = Qt.QVariant(QtGui.QColor(Qt.red))
self.model.setItemData(self.model.index(3,3),color,Qt.BackgroundRole)
답변 :
TypeError: PyQt4.QtCore.QVariant represents a mapped type and cannot be instantiated
가 어떤 난 정말 할 수 없습니다 알다.
따라서 제 질문은 setItemData
메서드의 두 번째 매개 변수에 넣어야하는 데이터 유형은 무엇입니까? 사전
setItemData하지 않습니다 색상을 두 번째 색인으로 사용합니다. – user1767754
예, 설명서를 잘못 이해했습니다. 색상이 예상 된 줄 알았지 만 Qmap이었습니다. setData를 사용하면 문제가 해결됩니다. 감사. –