2013-12-08 13 views
12

aktiviert ist Ich versuche, eine bedingte Anweisung basierend darauf, ob ein Kontrollkästchen aktiviert ist oder nicht. Ich habe etwas wie das Folgende versucht, aber es kommt immer als wahr zurück.Wie überprüft man, ob ein Kontrollkästchen in 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" 

Gibt es eine Möglichkeit, einen bool Wert zu erhalten, ob ein Kontrollkästchen aktiviert ist oder nicht?

Antwort

19

self.folderactive.isChecked ist kein boolescher Wert, es ist eine Methode - die in einem booleschen Kontext immer zu True ausgewertet wird. Wenn Sie den Status des Kontrollkästchens möchten, rufen Sie einfach die Methode:

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

Das hat funktioniert, vielen Dank. –

Verwandte Themen