web-dev-qa-db-ja.com

pyqtでチェックボックスがチェックされているかどうかを確認する方法

チェックボックスがチェックされているかどうかに基づいて条件文を作成しようとしています。次のようなことを試しましたが、常にtrueとして返されます。

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"

チェックボックスがチェックされているかどうかのブール値を取得する方法はありますか?

18
Joshua Strot

self.folderactive.isCheckedはブール値ではなく、メソッドです-ブール値のコンテキストでは、常にTrueに評価されます。チェックボックスの状態が必要な場合は、メソッドを呼び出します。

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