2013-12-08 75 views
12

我試圖根據複選框是否被選中來創建條件語句。我嘗試過類似下面的內容,但它總是返回爲真。如何檢查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" 

有沒有辦法讓一個複選框被選中或不是一個布爾值?

回答

19

self.folderactive.isChecked不是布爾值,它是一種方法 - 在布爾上下文中,它總是會計算爲True。如果你想要複選框的狀態,只需調用方法:

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

這很有效,非常感謝。 –

相關問題