首页 > 解决方案 > 如果滚动条显示,则 ScrollView 可用宽度

问题描述

我有一个滚动视图,其中包含一个可能包含许多超出屏幕大小的矩形的流。我的矩形将它们的宽度调整为 ScrollView(它们的父级)的宽度。

当没有滚动条时,这工作正常,但是当滚动条出现时,矩形与滚动条重叠。

我的矩形如何检测其父级 (ScrollView) 是否显示滚动条,以及他们如何知道通过多少像素来减小其宽度?ScrollView 组件似乎没有公开宽度小于滚动条宽度的属性。

标签: qmlscrollview

解决方案


现在广泛实施的样式是滚动条仅在需要时出现并覆盖滚动区域的内容。您通常不会担心您看到的重叠。

如果你想走老路并拥有一个始终可见且不覆盖内容的滚动条,则可以使用 ScrollBar 组件及其附带的 ScrollView API。与其使用 ScrollView 提供的 ScrollBars,不如附加您在 contentItem 之外手动放置的新的,而不是在它的顶部。

这会很棘手,但您可以通过查看此处的“自定义 ScrollView”文档来了解如何完成它:

https://doc.qt.io/qt-5/qtquickcontrols2-customize.html#customizing-scrollview


推荐阅读