PyQt5之CheckBox复选框的使用(一)

本文介绍了PyQt5中CheckBox控件的基本用法,包括常用方法如设置和获取选中状态等,并通过示例代码展示了如何使用CheckBox来收集用户的多选输入。


CheckBox 控件

CheckBox是复选框控件,其对应于PyQt5中的QCheckBox类,是一个带有文本标签的开关按钮,实现通过复选框的选中状态设置用户权限的功能。复选框通常成组的方式显示,但是每个复选框的开关状态是相互独立的。当有一个或多个需要明确的开关状态的选项时,可以使用复选框。


1.CheckBox常用方法

方法 说明
setChecked() 调整复选框的状态,设置为True表示选中,False表示取消选中的复选框
setText() 设置复选框的显示文本
text() 返回复选框的显示文本

2.CheckBox选中的使用

代码块如下:

   def getvalue(self):
        from PyQt5.QtWidgets import QMessageBox
        list = ""
            if self.checkBox.isChecked():       #判断复选框是否被选中
                list+="\n" + self.checkBox.text() #记录选中的权限
            if self.checkBox_2.isChecked():
                list+="\n" +self.checkBox_2.text()
            if self.checkBox_3.isChecked():
                list+="\n" +self.checkBox_3.text()
            if self.checkBox_4.isChecked():
                list+="\n" +self.checkBox_4.text()
            # 使用QMessageBox.information()方法弹出提示框,显示勾选的所有的选择
            QMessageBox.information(MainWindow, "提示", "选择list列表中的内容有\n"+list, QMessageBox.Ok)

3.CheckBox未选中的使用

代码块如下:

def getvalue(self):
    from PyQt5.QtWidgets import QMessageBox
    list = ""
    if (self.checkBox or self.checkBox_2 or self.checkBox_3 or self.checkBox_4).isChecked():
        if self.checkBox.isChecked():       #判断复选框是否被选中
            list+=
PyQt5 中,直接调整 `QCheckBox` 控件中复选框(即小方框)的大小并不是通过 `QCheckBox` 本身提供的接口实现的,而是需要借助样式表(QSS)来完成。默认情况下,复选框的大小由当前的操作系统或 Qt 样式决定,但可以通过设置自定义样式来覆盖这行为。 可以使用 `setStyleSheet()` 方法为 `QCheckBox` 定义个自定义样式,在该样式中指定复选框的宽度和高度。以下是个完整的示例: ```python import sys from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox, QVBoxLayout class MyWindow(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.setWindowTitle('QCheckBox Size Adjustment') self.setGeometry(100, 100, 300, 200) # 创建个 QCheckBox self.checkBox = QCheckBox('Check me', self) # 使用样式表调整复选框的大小 self.checkBox.setStyleSheet(''' QCheckBox::indicator { width: 20px; height: 20px; } ''') # 连接状态变化信号 self.checkBox.stateChanged.connect(self.onStateChanged) # 创建布局并添加控件 layout = QVBoxLayout() layout.addWidget(self.checkBox) self.setLayout(layout) def onStateChanged(self, state): if state == 2: print('Checked') else: print('Unchecked') if __name__ == '__main__': app = QApplication(sys.argv) window = MyWindow() window.show() sys.exit(app.exec_()) ``` 在上面的代码中,`QCheckBox::indicator` 是 Qt 样式表中的子控件,专门用于控制复选框中那个小方框的外观。通过设置其 `width` 和 `height` 属性,可以更改复选框的大小[^2]。 此外,还可以进步自定义复选框的外观,例如更改背景颜色、边框等。例如: ```css QCheckBox::indicator { width: 30px; height: 30px; background-color: #FFD700; border: 1px solid #5A5A5A; } ``` 这样可以使复选框具有更个性化的视觉效果。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值