Как проверить stateChanged в динамическом списке флажков в PyQt4 - PullRequest
1 голос
/ 10 мая 2019

Итак, я добавляю флажки из списка в PyQt4. Но я не могу найти способ использовать stateChanged для каждого из них в моем классе Window.

Это функция для добавления их из элементов списка:

  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)

Но это просто замораживает код.

Как мне это сделать?

1 Ответ

0 голосов
/ 10 мая 2019

Вы можете попробовать следующее:

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)
...