单选按钮QRadioButton是一种允许用户从几个选项中选择其一的窗口组件。与复选框不同,单选按钮是显式地成组配置,并且只能选择其中一个选项。当选择了新的选项时,上次的选择就还原了。多个QRadioButton是一个按钮组合,如果多个独占的按钮组合,需要放在QButtonGroup中。单选按钮QRadioButton的常用方法如下表所示:
| 方法 | 描述 |
| setCheckanle() | 设置按钮是否已经被选中,可以改变单选按钮的选中状态,如果设置为True则表示单选按钮将保持以点击和释放状态; |
| isChecked() | 返回单选按钮的状态,返回值True或False; |
| setText() | 设置单选按钮显示的文本; |
| text() | 返回单选按钮显示的文本。 |
程序清单:radiao.py
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QDesktopWidget,
QVBoxLayout, QHBoxLayout, QLabel, QButtonGroup, QRadioButton
# 继承QWidget
class RadioWidget(QWidget):
def __init__(self):
super().__init__()
self.init_ui()
def init_ui(self):
v_box = QVBoxLayout(self)
# 性别
gender_box = QHBoxLayout()
group = QButtonGroup(self)
man = QRadioButton("男", self)
man.clicked.connect(self.radio)
woman = QRadioButton("女", self)
woman.clicked.connect(self.radio)
group.addButton(man)
group.addButton(woman)
gender_box.addWidget(QLabel("性别:"))
gender_box.addWidget(man)
gender_box.addWidget(woman)
gender_box.setSpacing(20)
gender_box.setStretch(2, 1)
v_box.addLayout(gender_box)
self.setLayout(v_box)
# 调整窗口大小
self.resize(300, 200)
# 窗口居中
self.center()
# 窗口标题
self.setWindowTitle("单选框的应用")
# 显示窗口
self.show()
# 获取文件夹路径
def radio(self):
sender = self.sender()
print(sender.text())
# 实现居中
def center(self):
f = self.frameGeometry()
c = QDesktopWidget().availableGeometry().center()
f.moveCenter(c)
self.move(f.topLeft())
if __name__ == "__main__":
app = QApplication(sys.argv)
w = RadioWidget()
sys.exit(app.exec_())
运行程序之后,弹出的窗口如下:
好了,单选按钮的内容就说到这了,关注我,下一节更精彩。
码字不易,你的关注和转发是对我最大的鼓励,谢谢!
一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,关注我,你就赚到了。我正在分享Python、前端、Java和App方面的干货。赶紧来围观啊!!!
老家伙在今日头条:老陈说编程,等你来畅聊编程人生。



