Подтвердить что ты не робот

Как проверить, установлен ли флажок в pyqt

Я пытаюсь сделать условный оператор на основе проверки флажка или нет. Я пробовал что-то вроде следующего, но он всегда возвращается как истинный.

self.folderactive = QtGui.QCheckBox(self.folders)
self.folderactive.setGeometry(QtCore.QRect(50, 390, 71, 21))
self.folderactive.setObjectName(_fromUtf8("folderactive"))
if self.folderactive.isChecked:
    folders.createDir('Desktop')
    print "pass"
elif not self.folderactive.isChecked:
    folders.deleteDir('Desktop')
    print "nopass"

Есть ли способ получить значение bool, установлен ли флажок?

4b9b3361

Ответ 1

self.folderactive.isChecked не является логическим, это метод, который в булевом контексте всегда будет оцениваться как True. Если вы хотите установить флажок, просто вызовите метод:

if self.folderactive.isChecked():
    ...
else:
    ...