我要做的是使用 for 循环创建复选框并将一个函数连接到它们,每个复选框都使用不同的参数调用该函数。
这是一些代码:
for video in videos:
video_cb = QtGui.QCheckBox(video['title'])
video_cb.toggle()
video_cb.stateChanged.connect(lambda: self._toggle_video_cb(video))
videos_checkboxes_container.addWidget(video_cb)
和 _toggle_video_cb 功能:
def _toggle_video_cb(self, video):
print(video['title'])
video['is_for_download'] = not video['is_for_download']
这video
是一个带有键的字典: title: (str) , is_for_download: (boolean)...
仅用于检查参数,print
每个复选框都相同。无论我单击哪个复选框,它都会打印相同的视频标题。
为什么呢?这是正确的方法吗?
提前致谢 !
此致 :)