0

我要做的是使用 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每个复选框都相同。无论我单击哪个复选框,它都会打印相同的视频标题。

为什么呢?这是正确的方法吗?

提前致谢 !

此致 :)

4

0 回答 0