我在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)
答案 0 :(得分:0)
您可以使用setattr
执行此操作:
connect(lambda x: setattr(self, 'video_step', self.video_step + 1))