The position passed within the event might be a bit more reliable:
// QTreeWidgetItem* prev;
if (event
->type
() == QEvent::MouseMove) {
QMouseEvent* mouseEvent
= static_cast<QMouseEvent
*>
(event
);
if (current && current != prev)
{
if (prev)
prev->setBackground(0, palette().base()); // reset previous
current->setBackground(0, Qt::red); // highlight current
prev = current;
}
}
// QTreeWidgetItem* prev;
if (event->type() == QEvent::MouseMove)
{
QMouseEvent* mouseEvent = static_cast<QMouseEvent*>(event);
QTreeWidgetItem* current = ui.treeWidget->itemAt(mouseEvent->pos());
if (current && current != prev)
{
if (prev)
prev->setBackground(0, palette().base()); // reset previous
current->setBackground(0, Qt::red); // highlight current
prev = current;
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks