如何在 QTreeView 底部添加可滚动空白

发布于 2024-10-23 22:59:16 字数 314 浏览 1 评论 0原文

当展开 QTreeView 底部的项目时,视图不会自动滚动以显示新展开的项目。我可以通过检测扩展并在适当时自行执行滚动来解决此问题。

但是,我希望允许用户将视图滚动到比当前允许的距离更远的位置。目前,如果树太高而无法容纳在可见区域中,则只能滚动视图,直到最底行进入视图。

我相信这应该可以通过欺骗 QTreeView 的大小计算来实现,但即使在源代码潜水之后,我也不太了解 QTreeView 及其基础 QAbstractScrollArea 之间的交互,无法知道要戳什么,或者从哪里开始戳。

如果一切都失败了,我可能只是向我的数据模型添加一些虚拟的、不可编辑的行。

When expanding an item at the bottom of a QTreeView, the view does not automatically scroll to show the newly-expanded items. I can fix this by detecting expansion and performing the scroll myself when appropriate.

However, I would instead like to allow the user to scroll the view farther than is currently allowed. Currently, if the tree is too tall to fit in the visible area, the view can be scrolled only until the bottom-most row comes into view.

I believe this should be doable by tricking the QTreeView's size calculation, but even after source diving I don't understand the interaction between QTreeView and its base QAbstractScrollArea well enough to know what to poke, or where to start poking.

If all else fails I may just add some dummy, non-editable rows to my data model.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

千鲤 2024-10-30 22:59:16

您可以通过增加其垂直滚动条 最大值来向树视图添加额外的空白 值。像这样:

max = self.treeview.verticalScrollBar().maximum()
self.treeview.verticalScrollBar().setMaximum(max*2)

希望这有帮助,问候

you can add extra white space to the treeview by increasing its vertical scrollbar maximum value. Smth like this:

max = self.treeview.verticalScrollBar().maximum()
self.treeview.verticalScrollBar().setMaximum(max*2)

hope this helps, regards

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文