pyside6常用控件:QCheckBox() 单个复选框、多个复选框、三态模式

目录

单个复选框

多个复选框

三态模式


单个复选框

python 复制代码
from PySide6.QtWidgets import QApplication, QWidget, QCheckBox, QVBoxLayout, QLabel

app = QApplication()

win = QWidget()
win.setWindowTitle("QCheckBox 单个复选框 示例")

label = QLabel("状态:", win)
label.resize(200, 20)
label.move(20, 80)

checkbox = QCheckBox("我同意用户协议", win)
checkbox.resize(200, 20)
checkbox.move(20, 20)

def on_state_changed(state):
    if state == 2:  # 2 = 选中
        label.setText("状态:已选中")
    else:  # 0 = 未选中
        label.setText("状态:未选中")

checkbox.stateChanged.connect(on_state_changed)


win.show()

app.exec()

多个复选框

python 复制代码
from PySide6.QtWidgets import QApplication, QWidget, QCheckBox, QLabel

app = QApplication()

win = QWidget()
win.setWindowTitle("多选示例")
win.resize(300, 200)

label = QLabel("你的选择:", win)
label.resize(300, 30)
label.move(30, 20)

cb1 = QCheckBox("苹果", win)
cb1.move(30, 60)

cb2 = QCheckBox("香蕉", win)
cb2.move(30, 90)

cb3 = QCheckBox("橙子", win)
cb3.move(30, 120)

def update_choice():
    choices = []
    if cb1.isChecked():
        choices.append("苹果")
    if cb2.isChecked():
        choices.append("香蕉")
    if cb3.isChecked():
        choices.append("橙子")
    label.setText("你的选择:" + "、".join(choices) if choices else "未选择")

cb1.stateChanged.connect(update_choice)
cb2.stateChanged.connect(update_choice)
cb3.stateChanged.connect(update_choice)

win.show()
app.exec()

三态模式

python 复制代码
from PySide6.QtWidgets import QApplication, QCheckBox
app = QApplication()


checkbox = QCheckBox("三态复选框")
# 开启三态模式
checkbox.setTristate(True)
checkbox.resize(200, 50)
checkbox.move(50, 50)


def state_show(state):
    print(f'state:{state}')

checkbox.stateChanged.connect(state_show)

checkbox.show()
app.exec()
相关推荐
CTA终结者20 分钟前
示例、拆解和练习,要连成一条量化补课线
人工智能·python
lolijiaqi1522 分钟前
一线观察:长期体验后发现的医疗器械 CDMO 底层现象
大数据·python
spencer_tseng1 小时前
[j2cache ehcache.xml]/tmp/.ehcache-diskstore.lock (Permission denied)
xml·linux·python·ehcache·[j2cache
梦想不只是梦与想1 小时前
Python Web 框架:FastAPI
python·fastapi·web框架
玩大数据的龙威2 小时前
农经权二轮延包—全面取代人工公示图生成
python·arcgis
IT_Octopus2 小时前
JSON 日志里的 `{“$ref“:“$.xxx“}`:从 fastjson 兼容包到原生 fastjson2 的迁移实录
开发语言·python·json
geovindu2 小时前
python:HandWriting Recognition using paddlepaddle
开发语言·后端·python·paddlepaddle
wuyk5553 小时前
Python 零基础入门第九章:用户输入与 While 循环
开发语言·python
兮动人3 小时前
Python变量与常量
开发语言·python·机器学习·python变量与常量
2601_962300813 小时前
机器学习的理想基石
人工智能·python·机器学习·编程语言·数据处理