我希望它只允许通过按钮切换QAbstractItemView
来多选项目。ctrl
我不能使用QAbstractItemView::ExtandedSelection
,因为它还允许通过将鼠标拖到它们上来选择多个项目。
问问题
631 次
1 回答
2
我假设您使用的是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
。
虽然这只是一个理论,但应该是可行的!
于 2017-08-10T13:21:00.207 回答