如何检查pyqt中是否选中了复选框

时间:2013-12-08 16:06:12

标签: python-2.7 pyqt4

我正在尝试根据是否选中复选框来创建条件语句。我尝试了类似下面的内容,但它总是返回真实。

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值?

2 个答案:

答案 0 :(得分:26)

self.folderactive.isChecked不是布尔值,它是一个方法 - 在布尔上下文中,它总是计算为True。如果您想要复选框的状态,只需调用方法:

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

答案 1 :(得分:1)

document.onload = function(){
  const selected = document.querySelector(".selected");
  const optionsContainer = document.querySelector(".options-container");
  const optionsList = document.querySelectorAll(".option");

  selected.addEventListener("click", () => {
      optionsContainer.classList.toggle("active");
  });

  optionsList.forEach( o => {
      o.addEventListener("click", () => {
          selected.innerHTML = o.querySelector("label").innerHTML;
          optionsContainer.classList.remove("active");
      });
  });
};

x = self.folderactive.isChecked() 将是xTrue —一个布尔值。

(最重要的是括号)