我有一个小部件(QTabeleWidget、QLabels和一些QButtons)。它是在Qt-Designer中构建的,现在我必须实现一些东西。为此,我需要mousePressEvent。
通常我会编写一个子类并编写类似以下内容的代码:
但我不知道如何在设计器中创建的小部件中实现这一点。我需要为QTabeleWidget实现它。希望有人能帮助我。我尝试过通过谷歌解决问题,但没有成功。这个网站曾经多次帮助了我,所以我想试一试并提问。
def mousePressEvent(self, event):
if event.button() == Qt.LeftButton:
print "left"
else:
print 'right'
但我不知道如何在设计器中创建的小部件中实现这一点。我需要为QTabeleWidget实现它。希望有人能帮助我。我尝试过通过谷歌解决问题,但没有成功。这个网站曾经多次帮助了我,所以我想试一试并提问。
mousePressEvent
时,您将接收到给定小部件的事件,但仅限于子项未接受事件的事件。由于您在小部件内部有其他小部件,因此每个小部件在父级看到它之前都会接收和处理该事件。当没有相关信号时,处理这种情况的一种好方法是使用installEventFilter
安装事件过滤器。 - Kaleb Pederson