• 7260阅读
  • 4回复

如何Qt 禁用QListView自带的滚动条右键点击事件 [复制链接]

上一主题 下一主题
离线兴海北路
 

只看楼主 倒序阅读 楼主  发表于: 2015-01-14
大家好,如题,请问大家做没做过相关的操作呢?该如何实现呢?难道要自定义个QListView的子类,在eventFilter里截取右键点击事件吗?Qt自带的函数里没有控制这个的吗?
离线dbzhang800

只看该作者 1楼 发表于: 2015-01-14
如果你要用的 eventFilter 的话,你在随便一个QObject的派生类中可以过滤scrollBar 这个事件,不一定要派生QListView。

如果你不用 eventFilter 的话,那就是常规办法,从 QScrollBar 派生出你需要的 scrollBar,而后在 QListView 中使用。
离线兴海北路

只看该作者 2楼 发表于: 2015-01-14
嗯,找到方法了,记录在这里吧
QListView* m_pFindWnd = new QListView();    
QScrollBar *vScrollBar = m_pFindWnd->verticalScrollBar();
vScrollBar->setContextMenuPolicy(Qt::NoContextMenu);
离线dbzhang800

只看该作者 3楼 发表于: 2015-01-14
回 兴海北路 的帖子
兴海北路:嗯,找到方法了,记录在这里吧
QListView* m_pFindWnd = new QListView();    
QScrollBar *vScrollBar = m_pFindWnd->verticalScrollBar();
vScrollBar->setContextMenuPolicy(Qt::NoContextMenu); (2015-01-14 13:18) 

解决就好,不过一般来说:右键点击事件 和 上下文菜单事件 还是有点点差别的。
离线fantasyeden

只看该作者 4楼 发表于: 2015-05-23
listView->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
listView->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
快速回复
限100 字节
 
上一个 下一个