因此,QtQuick Scrollbar 有 AsNeeded、AlwaysOn 和 AlwaysOff 的策略设置。不幸的是,AsNeeded 存在一个核心问题:滚动条仅在鼠标悬停在其所附加的可轻拂对象上时显示(在我的例子中是带有 CheckDelegates 的 ListView)。
这意味着仅查看菜单,用户可能看不到更多复选框,直到将鼠标悬停在 ListView 上为止,但这种情况并不总是发生。
AlwaysOn 也是有问题的,因为它还会显示何时 ListView 的条目少于列表的长度,在这种情况下,ScrollBar 只是一个令人困惑的矩形。
有没有一种方法可以配置 ScrollBar,使其始终显示,如果有需要滚动的内容,并且在没有内容时根本不显示?
你可以这样做:
policy: listView.contentHeight > listView.height ? ScrollBar.AlwaysOn : ScrollBar.AlwaysOff
Run Code Online (Sandbox Code Playgroud)
当内容太大而无法容纳列表视图时,这将始终显示滚动条。