在QListView中,我想禁用鼠标拖动多项选择 - 也就是说,在一行中按下鼠标,拖动鼠标并在拖动时选择它下面的行.
我仍然喜欢使用CTRL鼠标点击选择行.
那可能吗?
小智 10
您似乎已将列表视图的选择模式设置为QAbstractItemView :: MultiSelection.尝试将其设置为QAbstractItemView :: ExtendedSelection:
listView->setSelectionMode( QAbstractItemView::ExtendedSelection );
Run Code Online (Sandbox Code Playgroud)
看看是否有帮助.
我认为最简单的方法是从 QListView 创建派生类,然后重写其 mouseMoveEvent 函数。QListView 的 Qt 代码中的此函数查找拖动状态并创建一个矩形。我认为这样的东西可能有效,但我没有测试它:
void DerivedListView::mouseMoveEvent(QMouseEvent *e) {
if (state() != DragSelectingState)
QListView::mouseMoveEvent(e);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9120 次 |
| 最近记录: |