当QtreeWidget 的选中状态发生变化时,会触发信号urrentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *),可关联该信号进行处理。
connect(this,SIGNAL( currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)),
this,SLOT(curItemChangedSlot(QTreeWidgetItem *, QTreeWidgetItem *)));
利用setBackgroundColor函数设置底色。
void AncGeneralViewWidget::curItemChangedSlot(QTreeWidgetItem * current, QTreeWidgetItem *previous)
{
QColor m_color_cur = QColor(200,100,255);
current->setBackgroundColor(0,m_color_cur);
current->setBackgroundColor(1,m_color_cur);
current->setBackgroundColor(2,m_color_cur);
current->setBackgroundColor(3,m_color_cur);
QColor m_color_pre = QColor(135,206,235);
previous->setBackgroundColor(0,m_color_pre);
previous->setBackgroundColor(1,m_color_pre);
previous->setBackgroundColor(2,m_color_pre);
previous->setBackgroundColor(3,m_color_pre);
}
于是效果就出来了