1

我是 pyqt 新手,我仍然面临一些新手问题:D
我有一个 QTableWidget,它是委托给 QChoice 控件的项目(希望我说得对)每当用户更改时,我都需要更改单元格背景颜色选择控制选择
简要:如何更改表格小部件中的单元格背景颜色? 我提前
使用 pyqt4 和 python 2.6 thanx

4

6 回答 6

8

我用过这样的东西:

brush = QtGui.QBrush(QtGui.QColor(255, 0, 0))
brush.setStyle(QtCore.Qt.SolidPattern)
item.setBackground(brush)

其中 item 是 QTableWidgetItem 对象

于 2012-04-21T16:56:24.900 回答
4

采用

QTableWidgetItem QTableWidget.item(row, column)

QTableWidgetItem setData(role, data)

Qt.BackgroundRole

如下:

table.item(0, 0).setData(Qt.BackgroundRole, color).

并阅读 Qt 模型/视图中使用的角色机制。

于 2010-05-18T09:31:12.653 回答
2

如果你使用 QTableView 使用这个:

model.setData(model.index(0, 0), QVariant(QBrush(Qt::red)), Qt::BackgroundRole);
于 2013-08-29T06:47:56.753 回答
1

下面是一些有用的代码行。对不起,我正在努力获得一些声誉。

QStandardItemModel* model = new QStandardItemModel(numRows, numColumns);
QStringList headers;
headers.append("Date");
model->setHorizontalHeaderLabels(headers);
QStandardItem* item = new QStandardItem(text);
item->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
item->setData(QVariant(QBrush(Qt::green)), Qt::BackgroundRole);
model->setItem(row, column, item);

或者简单地说:

item->setBackground(Qt::green);
于 2015-02-16T04:24:28.693 回答
0

嘿,您为表格小部件设置了委托方法。在代表的绘制事件中,您处理颜色更改技术.. 看看这个例子,这里他们已经完成了自定义选择颜色。与处理项目单元格绘画的方式相同

于 2010-05-11T04:54:18.193 回答
0

对于 C++ 方式的补充,如果您想绘制不同于 Qt::red 等的自定义颜色,您可以执行以下操作: ui->tableWidget->item(i, j)->setBackground(QColor(152,234,112));

于 2021-06-03T02:23:29.203 回答