我正在使用 PySide 和 pyqtgraph 构建一个应用程序,并从单个 DockArea 中的多个码头 (pyqtgraph.dockarea.Dock) 构建它。但是我注意到,通过单击并拖动分隔它们的拆分器来调整停靠点的大小时,您可以轻松地将它们拖动到很小的位置,直到它们突然消失。在它们消失后,如果您将仍然存在的滑块拖回以再次创建空间,它们将重新出现。
比如在pyqtgraph自带的dockarea例子中,如果你把左侧面板中的splitter往下拉,最终左下dock就消失了。将其向上拖动并重新出现。如何完全防止消失过程发生?我希望所有码头始终可见。
我查看了 pyqtgraph.dockarea 代码,但找不到控制调整大小行为的方法。我已经在我的应用程序中对 Dock 进行了子类化,因此如果有必要以这种方式修改方法,我可以轻松完成。
更新:这段代码解决了这个问题(见下面卢克的回答)
class DockArea(pyqtgraph.dockarea.DockArea):
def makeContainer(self, typ):
new = super(DockArea, self).makeContainer(typ)
new.setChildrenCollapsible(False)
return new