我想让一个自动调整大小以适应其内容。 我的设置如下:我试图创建一个“智能”工具提示,其中包含一个< 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)
这段代码大部分时间都能正常工作,但并非总是如此。偶尔会出现这样的情况:使用这段代码后,视图大小能正确调整(也就是所有内容都适应了窗口,不需要滚动条),但滚动条没有消失,导致可以向最后一行下面的空白区域滚动。