C++ 在QTableView中使用鼠标右键进行选择

C++ 在QTableView中使用鼠标右键进行选择,c++,qt,select,drag-and-drop,right-click,C++,Qt,Select,Drag And Drop,Right Click,我有一个具有以下选择设置的表视图: setSelectionBehavior(QAbstractItemView::SelectRows); setSelectionMode(QAbstractItemView::ExtendedSelection); 这样,我可以通过单击鼠标左键并将其悬停来选择几行 但是,这种行为与拖放冲突,这就是我们在Windows资源管理器中看到的示例 我想允许用户用鼠标右键选择行,然后用鼠标左键拖放它们(就像Total Commander一样) 我该怎么做呢?如果您还

我有一个具有以下选择设置的表视图:

setSelectionBehavior(QAbstractItemView::SelectRows);
setSelectionMode(QAbstractItemView::ExtendedSelection);
这样,我可以通过单击鼠标左键并将其悬停来选择几行

但是,这种行为与拖放冲突,这就是我们在Windows资源管理器中看到的示例

我想允许用户用鼠标右键选择行,然后用鼠标左键拖放它们(就像Total Commander一样)


我该怎么做呢?

如果您还没有,将您正在使用的任何内置表视图(可能是
QTableView
)子类化,然后重新实现
mousePresseEvent(QMouseEvent*event)
mouseReleaseEvent(QMouseEvent*event)
来修改当前选择。

我确实有一个子类,我只是觉得有一个更简单的选择。重新定义鼠标事件既需要禁止使用鼠标左键进行选择,也需要实现鼠标右键选择。