0
我想要有QAbstractItemView
,只允许用ctrl
按钮切换多选项目。我不能使用QAbstractItemView::ExtandedSelection
,因为它还允许通过将鼠标拖到它们上方来选择多个项目。多选表格,无需选择鼠标拖动
我想要有QAbstractItemView
,只允许用ctrl
按钮切换多选项目。我不能使用QAbstractItemView::ExtandedSelection
,因为它还允许通过将鼠标拖到它们上方来选择多个项目。多选表格,无需选择鼠标拖动
我假设你使用的是QTableView
您可以覆盖QTableView
然后用mouseMoveEvent
巧妙,以确保用户无法通过拖动进行多重选择!
如果用户按下鼠标左键进入mouseMoveEvent
,您可以选择吃东西而不将它传递给QTableView
,这将消除多重选择的可能性。
例如
void
TableView::mouseMoveEvent(QMouseEvent * inEvent)
{
// Deliberately commented to not to pass this event to parent to avoid multiple selection
// QTableView(inEvent);
inEvent->accept();
}
这可能会为你工作,你也可能要在mouseMoveEvent
小心,当你做上面mousePressEvent你必须做同样为mouseReleaseEvent
为好。
虽然这只是一个理论,但应该工作!