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()
相关推荐
旖旎夜光3 小时前
【LangGraph实战】LangGraph 学习笔记(五):信息裁剪、人机交互与时间旅行
笔记·python·学习·ai·人机交互·langgraph
Helix2503 小时前
Python单元测试实战:pytest框架从入门到企业级测试体系搭建指南
python·单元测试·实战·mock·pytest·测试覆盖率·fixture
软件开发技术深度爱好者3 小时前
ndexTTS-2和 CosyVoice之TTS(Text-to-Speech)使用python示例
开发语言·python
Shadow(⊙o⊙)3 小时前
LangChain定义聊天模型 基础问答
python·langchain
棉猴3 小时前
玩游戏学Python12-布尔型与条件语句
java·前端·python·玩游戏·游戏编程·pgzero
早点睡觉好了3 小时前
LangChain 源码入门 04:Runnable 如何统一调用、批处理、异步与流式接口
python·ai·langchain
丨白色风车丨3 小时前
LangChain Agent 从入门到实战:创建与调用参数全解析
前端·python·langchain
2601_962885723 小时前
如何用 Python 把多只股票对齐成一张宽表?
开发语言·python
IT_Octopus11 小时前
【零基础入门 LLM 开发 · Day 13】:LangChain 的对话记忆——Message 对象版
人工智能·python·langchain
2603_9651481111 小时前
社区与学习资源:从入门到精通的API选品学习路径
数据库·人工智能·python·学习·数据挖掘