gpt4 book ai didi

resize - 使 QTreeView 自动调整内容大小

转载 作者:行者123 更新时间:2023-12-03 17:53:31 24 4
gpt4 key购买 nike

我正在尝试制作 QTreeView自动调整其内容大小。这是我的设置:我正在尝试创建一个“智能”工具提示,它是 QWidgetQt.Tool | Qt.FramelessWindowHint作为其 WindowFlags ,效果很好。它包含一个带有一些按钮的布局(其大小是恒定的)和 QTreeView .现在,只要将行添加到 QTreeView的模型,QTreeView应自动增加其大小以避免垂直滚动条。

设置 QSizePolicy.Expanding在工具提示小部件和 QTreeView 上没有改变任何东西——也许我在这里遗漏了一些额外的标志或其他东西。

我还尝试了以下蛮力方法:

class ToolTip:
def __init__(self):
...
self.itemView.setVerticalScrollMode(QAbstractItemView.ScrollPerPixel)
self.itemView.verticalScrollBar().rangeChanged.connect(self.resizeViewVertically)

def resizeViewVertically(self, min, max):
self.resize(self.width(), self.height() + max)

大部分时间都有效,但并非总是如此。每隔一段时间(准确地说是第二次,但我不知道这是否是巧合),使用此代码, View 会正确调整大小(即所有内容都适合并且不需要滚动条),但滚动条不会消失,允许滚动到最后一行下方的空白区域。

最佳答案

您可能需要引用此项目的工作原理:
http://ftp.ics.uci.edu/pub/centos0/ics-custom-build/BUILD/PyQt-x11-gpl-4.7.2/examples/layouts/flowlayout.py

可能会给你一些关于你需要什么的提示。它是一种布局,您可以将其放入滚动窗口中,当主窗口变大时,它会重新排序里面的所有小部件以适合

关于resize - 使 QTreeView 自动调整内容大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15053067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com