如何在更改背景颜色后刷新 QTableWidget 单元格



我有一个由QTableWidget创建的矩阵,我有多个线程可以更改单元格的颜色,我想在设置颜色后立即看到颜色变化。我现在拥有的是,只有在完成所有单元格着色后,我才能看到整个单元格的颜色一次改变。我在着色之间有很好的延迟,所以并不是说线填充单元格的速度如此之快。

每个线程都调用函数 fillInCell(x,y,val,myThreadIdx);

void ResultMatrix::fillInCell(int i, int j, int val, int color )
{
    QTableWidgetItem* item = new QTableWidgetItem();
    item->setText(QString::number(val));
    colorCell(color,item);
    ui->matrixResult->setItem(i,j,item);
}

和颜色单元格是给细胞着色的功能

void ResultMatrix::colorCell(int threadNum, QTableWidgetItem* item)
{
    switch (threadNum)
    {
    case 0:{
            QColor cellColor(255, 0, 0 );
            item->setBackgroundColor(cellColor);
            return;}
    case 1:{
.....

该方法对我有用:

QAbstractItemView::reset();

QTableWidget 继承在 QAbstractItemView 之后

相关内容

  • 没有找到相关文章

最新更新