在PyQt5 python中创建拆分器句柄上的右键单击菜单
我做了一个拆分器。我一直试图在右键单击拆分器句柄时显示右键单击菜单 下面是我创建的代码。目前,它无法识别拆分器手柄上的右击。(注意:如果在拆分器的第一帧即左上角帧中单击鼠标右键,则此代码当前更新计数)在PyQt5 python中创建拆分器句柄上的右键单击菜单,python,python-3.x,pyqt5,Python,Python 3.x,Pyqt5,我做了一个拆分器。我一直试图在右键单击拆分器句柄时显示右键单击菜单 下面是我创建的代码。目前,它无法识别拆分器手柄上的右击。(注意:如果在拆分器的第一帧即左上角帧中单击鼠标右键,则此代码当前更新计数) 这里的技巧是创建一个自定义qspliterHandle类并覆盖qspliterHandle.mousePressEvent和一个自定义qspliterHandle类,在其中覆盖createHandle,以便它返回自定义qspliterHandle,而不是标准的 class MySplitter(Q
这里的技巧是创建一个自定义
qspliterHandle
类并覆盖qspliterHandle.mousePressEvent
和一个自定义qspliterHandle
类,在其中覆盖createHandle
,以便它返回自定义qspliterHandle
,而不是标准的
class MySplitter(QSplitter):
def createHandle(self):
return MySplitterHandle(self.orientation(), self)
class MySplitterHandle(QSplitterHandle):
def mousePressEvent(self, event):
if event.button() == Qt.RightButton:
print('Right mouse clicked')
elif event.button() == Qt.LeftButton:
print('Left mouse clicked')
super().mousePressEvent(event)
最后,要使用自定义的QSplitter
,您需要在SplitterLayout
中用MySplitter
替换所有出现的QSplitter
class MySplitter(QSplitter):
def createHandle(self):
return MySplitterHandle(self.orientation(), self)
class MySplitterHandle(QSplitterHandle):
def mousePressEvent(self, event):
if event.button() == Qt.RightButton:
print('Right mouse clicked')
elif event.button() == Qt.LeftButton:
print('Left mouse clicked')
super().mousePressEvent(event)