首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更改QListView的多选模式

更改QListView的多选模式
EN

Stack Overflow用户
提问于 2011-11-19 04:04:13
回答 2查看 10.6K关注 0票数 9

在QListView中,我想禁用鼠标拖动多选功能-即在一行上向下拖动鼠标,然后在拖动的同时选择其下方的行。

我仍然希望使用按住CTRL键并单击鼠标的方式选择行。

这有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-19 06:37:05

我认为最简单的方法是从QListView创建一个派生类,然后覆盖它的mouseMoveEvent函数。QListView的Qt代码中的此函数用于查找拖动状态并创建矩形。我想像这样的东西可能会起作用,但我没有测试它:

代码语言:javascript
运行
复制
void DerivedListView::mouseMoveEvent(QMouseEvent *e) {
    if (state() != DragSelectingState)
        QListView::mouseMoveEvent(e);
}
票数 3
EN

Stack Overflow用户

发布于 2011-11-21 11:18:29

您似乎已将列表视图的选择模式设置为QAbstractItemView::MultiSelection。尝试使用以下命令将其设置为QAbstractItemView::ExtendedSelection:

代码语言:javascript
运行
复制
listView->setSelectionMode( QAbstractItemView::ExtendedSelection );

看看这有没有帮助。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8188441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档