pyside6中checkbox和radio button
时间: 2024-10-20 20:07:46 浏览: 46
在PySide6中,Checkbox(复选框)和RadioButton(单选按钮)都是Qt库中的控件,用于用户界面交互。以下是它们的基本使用方法:
**Checkbox**:
- `QCheckBox`: 这是一个可以让用户选择一项或多项目标的开关。你可以使用`QCheckBox`类创建一个实例,并设置其文本(`text`属性)和初始状态(`setChecked()`方法)。当用户点击时,它的状态会改变。
```python
from PySide6.QtWidgets import QApplication, QCheckBox
app = QApplication([])
checkbox = QCheckBox("启用")
checkbox.setChecked(True) # 设置默认选中
checkbox.clicked.connect(lambda state: print(f"Checkbox is {'checked' if state else 'unchecked'}"))
widget = checkbox.show()
```
- `stateChanged`信号: 当checkbox状态变化时,会被触发,你可以连接这个信号到自定义槽函数。
**RadioButton**:
- `QRadioButton`: 单选按钮允许用户从一组选项中选择一个,每个按钮只能有一个被选中。创建时指定一组共享的`buttonGroup`(`QRadioButtonButtonGroup`)。
```python
from PySide6.QtWidgets import QApplication, QVBoxLayout, QRadioButton, QRadioButtonButtonGroup
app = QApplication([])
group = QRadioButtonButtonGroup()
button1 = QRadioButton("Option 1", group)
button2 = QRadioButton("Option 2", group)
# 将两个按钮添加到布局并关联到同一个组
layout = QVBoxLayout()
layout.addWidget(button1)
layout.addWidget(button2)
group.addButton(button1)
group.addButton(button2)
button1.setChecked(True) # 设置默认选中
button1.toggled.connect(lambda state: print(f"Selected radio button is {button1.text()}"))
central_widget = QWidget()
central_widget.setLayout(layout)
central_widget.show()
app.exec_()
```
- `toggled`信号: 当单选按钮的状态改变时(被选中或取消选中),这个信号会被触发。
阅读全文