如何在PyQt4中检查动态复选框列表中的stateChanged

2024-09-30 16:22:07 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我在PyQt4中添加了一个列表中的复选框。但是我想不出一种方法来为我的窗口类中的每一个使用stateChanged

此函数用于从列表元素中添加它们:

  def addCheckbox(self):
        colunas = Graphic(self.caminho).getColunas()
        for col in colunas:
            c = QtGui.QCheckBox(col, self, objectName=col)
            self.layout.addWidget(c)

我尝试在while True中获取它们的对象名,并将其用于:

self.name.stateChanged.connect(self.clickBox)

但这只是冻结代码

我该怎么做


Tags: 方法函数self元素列表defcol复选框
1条回答
网友
1楼 · 发布于 2024-09-30 16:22:07

您可以尝试以下操作:

def clickBoxStateChanged(self, objectName):
    def stateChanged(state):
        print(objectName)
        print(state)
    return stateChanged

然后,在你的循环中:

  for col in colunas:
        c = QtGui.QCheckBox(col, self, objectName=col)
        c.stateChanged.connect(self.clickBoxStateChanged(col))
        self.layout.addWidget(c)

相关问题 更多 >