两个QTreeWidget,拖拽节点时,再次点击节点,需要点击两次,第一次无反应。
原因是还处于拖动状态,解决办法:
在树的点击事件中,增加去状态的代码:
void CTreeWidget::mousePressEvent(QMouseEvent* event)
{
if (event->buttons() & Qt::LeftButton)
{
.....
}
resetState();//关键代码
QTreeWidget::mousePressEvent(event);
}
void CTreeWidget::resetState()
{
if (state() == DraggingState)
{
setState(NoState);
}
}