让QTreeView自动调整大小以适应内容

5
我想让一个自动调整大小以适应其内容。 我的设置如下:我试图创建一个“智能”工具提示,其中包含一个< QWidget>,其 为< Qt.Tool | Qt.FramelessWindowHint>,运行得很好。 它包含一个布局和一些按钮(其大小是固定的)以及. 现在,每当向的模型添加行时,都应自动增加其大小以避免垂直滚动条出现。

将设置为工具提示窗口和上没有改变任何东西-也许我在这里漏掉了一些其他标志或什么。

我还尝试了以下强制方法:

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)

这段代码大部分时间都能正常工作,但并非总是如此。偶尔会出现这样的情况:使用这段代码后,视图大小能正确调整(也就是所有内容都适应了窗口,不需要滚动条),但滚动条没有消失,导致可以向最后一行下面的空白区域滚动。

1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接