防止码头调整大小到消失点

时间:2014-10-23 05:45:30

标签: python pyside pyqtgraph

我正在使用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

1 个答案:

答案 0 :(得分:1)

您可以通过DockArea中的QSplitters禁用折叠:

http://doc.qt.io/qt-4.8/qsplitter.html#setCollapsible

影响所有容器的最简单方法可能是扩展DockArea.makeContainer()(请注意,HContainer和VContainer是QSplitter的子类)。