我正在使用PySide和pyqtgraph构建一个应用程序,并且正在一个DockArea中的多个停靠点(pyqtgraph.dockarea.Dock)中构建它。但是我注意到,当通过单击并拖动分隔它们的分割器来调整底座大小时,您可以轻松地将它们拖得很小,直到它们突然消失的程度。它们消失后,如果您将滑块(仍在那里)拖回来再次创建空间,它们将重新出现。
例如,在pyqtgraph附带的dockarea示例中,如果向下拖动左侧面板中的拆分器,最终左下方的扩展坞将消失。将其向上拖动然后重新出现。如何防止消失的过程发生?我希望所有码头始终可见。
我查看了pyqtgraph.dockarea代码,但无法找到控制调整大小行为的方法。我已经在我的应用程序中对Dock进行了子类化,因此如果有必要修改方法,我可以轻松地这样做。
更新:此代码解决了问题(请参阅下面的Luke答案)
class DockArea(pyqtgraph.dockarea.DockArea):
def makeContainer(self, typ):
new = super(DockArea, self).makeContainer(typ)
new.setChildrenCollapsible(False)
return new
答案 0 :(得分:1)
您可以通过DockArea中的QSplitters禁用折叠:
http://doc.qt.io/qt-4.8/qsplitter.html#setCollapsible
影响所有容器的最简单方法可能是扩展DockArea.makeContainer()
(请注意,HContainer和VContainer是QSplitter的子类)。