基于pyside2的代码:创建一个界面并实现S盒八选一,有复选框,八个都可以实现的代码
时间: 2023-06-11 22:08:15 浏览: 110
用js实现复选框多选的js源代码
以下是基于pyside2的代码,可以创建一个界面并实现S盒八选一,包含复选框,八个选项都可以实现:
```python
import sys
from PySide2.QtWidgets import QApplication, QWidget, QVBoxLayout, QCheckBox, QLabel
class SBox(QWidget):
def __init__(self):
super().__init__()
# 设置窗口标题和大小
self.setWindowTitle('S盒八选一')
self.resize(300, 200)
# 创建复选框和标签
self.checkboxes = []
self.labels = []
for i in range(8):
checkbox = QCheckBox(f'选项{i+1}')
label = QLabel()
self.checkboxes.append(checkbox)
self.labels.append(label)
# 创建垂直布局,并将复选框和标签添加到布局中
layout = QVBoxLayout()
for checkbox, label in zip(self.checkboxes, self.labels):
layout.addWidget(checkbox)
layout.addWidget(label)
# 将布局设置为窗口的主布局
self.setLayout(layout)
# 为复选框添加信号槽
for checkbox in self.checkboxes:
checkbox.clicked.connect(self.update_label)
def update_label(self):
# 获取选中的复选框的文本
checked_text = ''
for checkbox, label in zip(self.checkboxes, self.labels):
if checkbox.isChecked():
checked_text = label.text()
break
# 更新所有标签的文本
for label in self.labels:
label.setText(checked_text)
if __name__ == '__main__':
app = QApplication(sys.argv)
sbox = SBox()
sbox.show()
sys.exit(app.exec_())
```
运行代码后,会弹出一个窗口,里面包含八个复选框和相应的标签,用户可以选择其中一个复选框,选中后所有标签都会更新为选中复选框的文本。
阅读全文