如何在不创建函数的情况下使用QAction调用变量增量

时间:2016-10-05 10:55:38

标签: python-2.7 lambda pyqt4

我在QWidget中有一个动作,它应该将变量增加一个。

self.increase_video_step_action = QtGui.QAction('increase video step', self)
self.increase_video_step_action.triggered.connect(self.increment_video_step_action)

def increment_video_step(self):
     self.video_step += 1

这是一个明显有效的解决方案。我只是想知道是否有一个解决方案使用lambda来做这个而不创建"冗余"方法。如果是的话,应该怎么样?

这不会起作用:

.connect(lambda x: self.video_step += 1)

1 个答案:

答案 0 :(得分:0)

您可以使用setattr执行此操作:

connect(lambda x: setattr(self, 'video_step', self.video_step + 1))