一、PyQt5复选框概述
PyQt5是Python语言的一个GUI框架。在PyQt5中,复选框(QCheckBox)是一种常见的控件,用于提供二元选择,即选中或未选中。复选框常常和isChecked()方法一起使用,该方法用于确定复选框的当前选中状态。本文将详细介绍PyQt5中复选框isChecked()方法的使用攻略。
二、复选框isChecked()方法的语法
在PyQt5中,可以通过调用复选框对象的isChecked()方法来获取当前复选框的选中状态,该方法的语法格式如下:
isChecked()
具体而言,当复选框被选中时,isChecked()方法返回True,否则返回False。
三、复选框isChecked()方法的使用示例
下面通过两个示例来说明复选框isChecked()方法的使用。
- 示例一:简单的单选复选框使用
在本示例中,我们实现一个简单的复选框,并使用其isChecked()方法来确定当前是否选中该复选框。
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
class CheckBoxDemo(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('PyQt5复选框演示')
self.resize(250, 150)
# 创建一个复选框和两个标签
checkbox = QCheckBox('我是复选框', self)
checkbox.move(20, 20)
lbl = QLabel('未选中', self)
lbl.move(50, 50)
# 创建一个槽函数,用于响应复选框的状态改变
def changeLblState():
if checkbox.isChecked():
lbl.setText('已选中')
else:
lbl.setText('未选中')
checkbox.stateChanged.connect(changeLblState)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
demo = CheckBoxDemo()
sys.exit(app.exec_())
在示例中,我们创建了一个复选框,两个标签,当复选框状态变化时,槽函数changeLblState()会被调用,用于更新标签的文本,以反映当前复选框的选中状态。
- 示例二:多个复选框使用
在本示例中,我们创建了多个复选框,并使用isChecked()方法来确定哪些复选框被选中。
import sys
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
class MultiCheckBoxDemo(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('PyQt5复选框演示2')
self.resize(250, 150)
# 创建多个复选框
checkbox1 = QCheckBox('复选框1', self)
checkbox1.move(20, 20)
checkbox2 = QCheckBox('复选框2', self)
checkbox2.move(20, 40)
checkbox3 = QCheckBox('复选框3', self)
checkbox3.move(20, 60)
lbl = QLabel('未选中的复选框:', self)
lbl.move(50, 95)
# 创建一个按钮和一个槽,用于获取选中的复选框
btn = QPushButton('确定', self)
btn.move(140, 100)
def getCheckedCheckBoxes():
checked = []
if checkbox1.isChecked():
checked.append(checkbox1.text())
if checkbox2.isChecked():
checked.append(checkbox2.text())
if checkbox3.isChecked():
checked.append(checkbox3.text())
if len(checked) == 0:
checked.append('无')
lbl.setText('选中的复选框:' + ', '.join(checked))
btn.clicked.connect(getCheckedCheckBoxes)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
demo = MultiCheckBoxDemo()
sys.exit(app.exec_())
在示例中,我们创建了多个复选框,通过调用isChecked()方法来判断哪些被选中,最终打印出选中的复选框。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 – 复选框的isChecked()方法 - Python技术站