Я нашел два способы сделать это:
- Использование метода data в модели: возврат определенного цвета фона для определенных ячеек в зависимости от их значения.
Код: Выделить всё
class PandasTableModel(QtCore.QAbstractTableModel): ... @override def data(self, index, role): if not index.isValid(): return None value = self._dataframe.iloc[index.row(), index.column()] if role == QtCore.Qt.ItemDataRole.DisplayRole: return str(value) elif role == QtCore.Qt.ItemDataRole.BackgroundRole: if value == "True": return QtGui.QColor(0, 255, 0, 100) elif value == "False": return QtGui.QColor(255, 0, 0, 100) return None
- Использование метода рисования пользовательского делегата: установка цвета фона ячейки в отрисовке
- Использование метода рисования пользовательского делегата: установка цвета фона ячейки в отрисовке
- Использование метода рисования пользовательского делегата: установка цвета фона ячейки в отрисовке
- Использование метода рисования пользовательского делегата: установка цвета фона ячейки в отрисовке
- Использование метода рисования пользовательского делегата: установка цвета фона ячейки в отрисовке
- Использование метода рисования пользовательского делегата code> метод делегата (подкласс QItemDelegate):
Код: Выделить всё
class PandasItemDelegate(QtWidgets.QItemDelegate): ... @override def paint(self, painter, option, index): super().paint(painter, option, index) value = index.data(QtCore.Qt.ItemDataRole.DisplayRole) if value in ["True", "False"]: color = QtGui.QColor(0, 255, 0, 100) if value == "True" else QtGui.QColor(255, 0, 0, 100) painter.fillRect(option.rect, color)
Какой подход будет более эффективным, особенно для большого DataFrame, с точки зрения памяти и скорости обработки?
Какой подход будет более эффективным, особенно для большого DataFrame, с точки зрения памяти и скорости обработки?
Какой подход будет более эффективным, особенно для большого DataFrame, с точки зрения памяти и скорости обработки?
Какой подход будет более эффективным, особенно для большого DataFrame, с точки зрения памяти и скорости обработки?
Какой подход будет более эффективным, особенно для большого DataFrame, с точки зрения памяти и скорости обработки?
Какой подход будет более эффективным, особенно для большого DataFrame? п>
Подробнее здесь: https://stackoverflow.com/questions/791 ... -method-or