Python pyqtgraph船坞布局图
有没有办法在pyqtgraph中锁定停靠点,以便用户无法移动它们 我正在使用一个小触摸屏来显示一个带有多个停靠点的pyqtgraph应用程序。用户很容易意外地移动一个船坞。当这种情况发生时,由于屏幕的大小,屏幕变得不可用。我想阻止用户移动码头 但是,用户仍然必须能够在停靠点之间进行选择(即,将它们视为选项卡小部件) 我只是想说清楚,我想防止一个码头被拆开,我想防止码头被运到一个新的位置 谢谢,Python pyqtgraph船坞布局图,python,dock,pyqtgraph,Python,Dock,Pyqtgraph,有没有办法在pyqtgraph中锁定停靠点,以便用户无法移动它们 我正在使用一个小触摸屏来显示一个带有多个停靠点的pyqtgraph应用程序。用户很容易意外地移动一个船坞。当这种情况发生时,由于屏幕的大小,屏幕变得不可用。我想阻止用户移动码头 但是,用户仍然必须能够在停靠点之间进行选择(即,将它们视为选项卡小部件) 我只是想说清楚,我想防止一个码头被拆开,我想防止码头被运到一个新的位置 谢谢, Chris我通过重写Dock类的方法禁用了分离和拖动Dock的功能 拖动停靠将其移动到另一个位置。因此
Chris我通过重写Dock类的方法禁用了分离和拖动Dock的功能 拖动停靠将其移动到另一个位置。因此,我用不做任何事情的方法(即no-op)覆盖了所有的“drag”事件处理程序 双击dock的标签将导致dock分离。因此,我用no-op覆盖了dock标签的双击事件处理程序 在代码中用MyDock替换Dock。更新:我添加了代码来覆盖DockArea的拖动方法,因为我仍然能够移动DockArea 代码如下:
##
# This class is used to eliminate a standard Dock class' ability to detach and
# move (i.e. dragging this Dock will have no effect)
#
class MyDock(Dock):
def __init__(self, name, area=None, size=(10, 10), widget=None, hideTitle=False, autoOrientation=True):
# Initialize the baseclass
#
Dock.__init__(self, name, area, size, widget, hideTitle, autoOrientation)
# Override the label's double click event. Normally double clicking
# the dock's label will cause it to detach into it's own window.
#
self.label.mouseDoubleClickEvent=self.noopEvent
def dragEventEnter(self, ev):
pass
def dragMoveEvent(self, ev):
pass
def dragLeaveEvent(self, ev):
pass
def dragDropEvent(self, ev):
pass
def noopEvent(self,ev):
pass
class MyDockArea(DockArea):
def dragEventEnter(self, ev):
pass
def dragMoveEvent(self, ev):
pass
def dragLeaveEvent(self, ev):
pass
def dragDropEvent(self, ev):
pas