問題:
1 void MainWindow::on_tableview_clicked(const QModelIndex& index) 2 { 3 item = new QStandardItem("clicked"); 4 //ui->plant_table->data() 5 item->setData(QBrush(Qt::red),Qt::BackgroundRole);//.setColor(Qt::red); 6 7 model->setItem(row,col,item); 8 9 qDebug()<<""<<model->item(row, col)->data(Qt::BackgroundRole);// QVariant(QBrush, QBrush(QColor(ARGB 1, 1, 0, 0),SolidPattern)) 10 11 ui->plant_table->viewport()->update(); 12 13 //指定單元格顏色未改變
原因及解決方法:
1 QTableView::item{ 2 padding: 0px; 3 margin: 0px; 4 border: 0.5px solid rgb(205,208,209); 5 margin:0.5px; 6 } 7 8 //QTableView設定了Item樣式表與setData()所設定的背景發生衝突,導致點選所設定的背景色無效,註釋上述樣式表後點選色設定成功。