我有一个由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);
}
和colorCell是彩色单元格的功能
void ResultMatrix::colorCell(int threadNum, QTableWidgetItem* item)
{
switch (threadNum)
{
case 0:{
QColor cellColor(255, 0, 0 );
item->setBackgroundColor(cellColor);
return;}
case 1:{
.....