我将QTreeWidget放入QVBoxLayout。
self._tree = QTreeWidget()
layout = QVBoxLayout()
layout.addWidget(self._some_other_widget)
layout.addWidget(self._tree)
layout.addStretch()
self.setLayout(layout)
此树窗口小部件中的所有节点始终展开。 我想创建具有最小高度的树窗口小部件(例如,对于一行/项)。添加新项目时,此树窗口小部件也会增长以显示所有项目。如何才能做到这一点?提前谢谢。
答案 0 :(得分:0)
至少有两种解决方案:
使用self._tree.setSizeAdjustPolicy(QAbstractScrollArea.AdjustToContents)
。谢谢你,G.M。
我还找到了另一个解决方案:
def sizeHint(self):
return self._sizeHint()
def minimumSizeHint(self):
return self._sizeHint()
def _sizeHint(self):
sh = super().sizeHint()
if self._item_count > 0:
return QSize(sh.width(), self.sizeHintForRow(0) * self._item_count)
else:
return QSize(sh.width(), 40)