问题:
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()所设置的背景发生冲突,导致点击所设置的背景色无效,注释上述样式表后点击色设置成功。
标签:Qt,单元格,item,QTableView,设置,生效,QBrush From: https://www.cnblogs.com/WU20/p/18179099