easyui tree复选框是否打钩状态_实战PyQt5: 010-复选框控件QCheckBox

1a222932-1e5e-4ca4-85ee-efae22ee4566

复选框QCheckBox简介

QCheckBox 复选框,通常用于表示可以启用或禁用应用中的功能。

QCheckBox中的常用方法:

  • setText(): 设置复选框的显示文本;
  • setEnabled(): 设置复选框是否可用,设置为False时,复选框不可用;
  • text(): 返回复选框的显示文本;
  • isChecked(): 返回复选框的选中状态;
  • setChecked(): 设置复选框的状态,设置为True表示选中,False表示取消选中的复选框;
  • setTriState(): 设置复选框为一个三态复选框
  • setCheckState():三态复选框的状态设置,具体设置见三态复选框状态表。

QCheckBox复选框的三种状态:

  • Qt.Checked: 值为2,表示组件被选中
  • Qt.PartiallyChecked: 值为1,表示组件被半选中
  • Qt.Unchecked: 值为0,表示组件没有被选中

QCheckBox类继承关系:

1e1a657baf464147ad030350ae020afe

测试复选框QCheckBox

创建文件qcheckbox.py, 界面包括三个QCheckBox按钮, 一个缺省状态为未选中,一个为选中,一个为三态按钮,在三个按钮之下,创建一个带边框和指定背景的QLabel显示三个按钮的状态信息。完整代码如下:

import sysfrom PyQt5 import QtCore, QtGui, QtWidgetsfrom PyQt5.QtWidgets import (QApplication, QMainWindow, QLabel, QCheckBox)from PyQt5.QtCore import Qt class DemoCheckBox(QMainWindow):    def __init__(self, parent=None):        super(DemoCheckBox, self).__init__(parent)         # 设置窗口标题        self.setWindowTitle("实战PyQt5: QCheckBox Demo!")        # 设置窗口大小        self.resize(360, 240)         # 复选框1        self.chkBox1 = QCheckBox(self)        self.chkBox1.setText("复选框1")        self.chkBox1.move(10, 10)        self.chkBox1.resize(100, 24)        self.chkBox1.stateChanged.connect(lambda: self.btnState(self.chkBox1))         # 复选框2,默认状态为选中        self.chkBox2 = QCheckBox(self)        self.chkBox2.setText("复选框2")        self.chkBox2.move(10, 40)        self.chkBox2.resize(100, 24)        self.chkBox2.setChecked(True)        self.chkBox2.stateChanged.connect(lambda: self.btnState(self.chkBox2))         # 复选框3,设置为3状态,设置默认选中状态为半选状态        self.chkBox3 = QCheckBox(self)        self.chkBox3.setText("三态复选框")        self.chkBox3.move(10, 70)        self.chkBox3.resize(100, 24)        self.chkBox3.setTristate(True)        self.chkBox3.setCheckState(Qt.PartiallyChecked)        self.chkBox3.stateChanged.connect(lambda: self.btnState(self.chkBox3))         # 标签信息        info_title = QLabel(self)        info_title.setText("复选框状态信息:")        info_title.move(10, 100)        info_title.resize(100, 24)         # QLabel标签部件,用于显示三个复选框的状态信息        self.showState = QLabel(self)        self.showState.setStyleSheet(            'border-width: 1px; border-style: solid; background-color: rgb(192,192,192);')        self.showState.move(10, 126)        self.showState.resize(300, 100)        self.showState.setWordWrap(True)  # 允许换行         # 显示复选框的状态        self.btnState(self.chkBox1)     # 输出复选框的状态     def btnState(self, btn):        status1 = self.chkBox1.text()+", isChecked="+str(self.chkBox1.isChecked()) +             ', checkState='+str(self.chkBox1.checkState())+""        status2 = self.chkBox2.text()+", isChecked="+str(self.chkBox2.isChecked()) +             ', checkState='+str(self.chkBox2.checkState())+""        status3 = self.chkBox3.text()+", isChecked="+str(self.chkBox3.isChecked()) +             ', checkState='+str(self.chkBox3.checkState())+""        self.showState.setText(status1 + status2 + status3) if __name__ == '__main__':    app = QApplication(sys.argv)    window = DemoCheckBox()    window.show()    sys.exit(app.exec())

运行结果如下图所示:

e4585ad7faa5426b9feba59022742194

测试QCheckBox

本文知识点

  • QCheckBox状态设置,包括三态设置;
  • 使用方法setStyleSheet改变部件的外观,在这里修改了QLabel的边框和背景色。

喜欢本文内容就收藏,点赞,评论,关注和转发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值