Я пытаюсь узнать, когда пользователь выбирает украшение элемента, потому что я пытался реализовать один щелчок, разворачивая/сворачивая QTreeview, и украшение теперь ничего не делает. Он не разворачивает и не сворачивает элемент, если я нажимаю на элемент, он работает правильно.
void MyTreeView::mousePressEvent(QMouseEvent *event)
{
QTreeView::mousePressEvent(event);
if (event->button() == Qt::LeftButton)
{
QModelIndex index = indexAt(event->pos());
isExpanded(index) ? collapse(index) : expand(index);
}
}
Проблема в том, что когда украшение выбрано, оно входит в условие if. Если его не было, то все работает нормально.
Я не знаю, должен ли я блокировать действие украшения или иметь условие в операторе if.
Как узнать, что выбрано украшение, а не сам предмет, или как заблокировать действие украшения?