完全禁用QSCrollarea中的水平滚动,而不仅仅是条
Disable horizontal scrolling in QScrollArea completely, not just the bars
在qt中,我有一个qscrollarea,其中有一些内容,可以垂直滚动,但绝不应该允许水平滚动。即使我禁用H滚动条显示出显示的鼠标,具有支撑水平运动的滚轮(或触摸垫)的鼠标也会使其一侧移动到一边。
现在,这可能部分是一个布局问题...但是实际上没有什么。这可能是一个警察,但是有没有办法只能从后面"锁定"滚动区域才能水平移动?
scrollArea->verticalScrollBar()->setEnabled(false);
scrollArea->horizontalScrollBar()->setEnabled(false);
对于您的QScrollArea
,您需要eventFilter
方法中的过滤器QEvent::Wheel
或Overload wheelEvent(QWheelEvent* event)
方法。
其他方法是创建从QWidget
遗传的窗口小部件,仅包含eventFilter
,然后将其过滤器应用于您的滚动区域:
scrollArea->viewport()->installEventFilter(someFilterWidget);
您是否尝试设置滚动条策略?
myscrollarea-> sethorizontalscrollbarpolicy(qt :: scrollbaralwaysoff);
http://qt-project.org/doc/qt-4.8/qabstractscrollarea.html#horizontalscrollbarpolicy-prop-prop
相关文章:
- 为什么这个案例陈述需要一个"if else"而不仅仅是一个"if"?
- std::find,返回所有找到的值的替代方法,而不仅仅是存在重复的向量的第一个值
- 为什么C++总是显示十六进制内存地址,而不仅仅是整数?
- 为什么我们要做"INT_MAX/10"而不仅仅是INT_MAX?
- 为什么 std::vector 需要 is_trivial 才能按位移动,而不仅仅是is_trivially_copya
- 为什么在这个C++问题中使用const_iterator而不仅仅是迭代器?
- C++,从文件读取到结构,然后读取到向量(结构被推入向量太多次,而不仅仅是一次)
- 如果要求比较器是严格的总排序,而不仅仅是严格的弱排序,C++标准算法会更快吗?
- 为什么我们必须在 C++ 中释放数组数组,而不仅仅是整个"matrix"
- 十进制文字不仅仅是LONG_LONG_MAX
- 为什么非放置"新建"和"删除"内置于语言中,而不仅仅是常规函数?
- 使用 fstream 在空格分隔文件中查看下一项(不仅仅是一个字符)的方法
- 这是循环击中两个输出,而不仅仅是我期望的输出
- 在C++中,是否有任何理由生成并立即加入线程,而不仅仅是直接调用函数?
- 如何正确抛出一个需要的不仅仅是构造函数的异常
- 为什么 cppreference 将type_traits xxx_v快捷方式定义为内联 constexpr,而不仅仅是
- C++Qt创建者,我可以评论每一行,而不仅仅是评论选择
- 为什么BOOST.PROGROGROGOTIONS不仅仅是标头
- 使用FP:快速导致错误的VC 结果(不仅仅是不准确)结果 - 这是编译器错误
- 完全禁用QSCrollarea中的水平滚动,而不仅仅是条