pyqt学习之ButtonGroup

Posted mosewumo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pyqt学习之ButtonGroup相关的知识,希望对你有一定的参考价值。

ButtonGroup即按钮组;提供一个按钮容器,可以将多个按钮划分为一组

案例

技术图片
from PyQt5.Qt import *
import sys
app = QApplication(sys.argv)

window = QWidget()
window.setWindowTitle("按钮组的使用")
window.resize(500, 500)

# 男女
r_male = QRadioButton("", window)
r_female = QRadioButton("", window)
r_male.move(100, 100)
r_female.move(100, 150)
r_male.setChecked(True)

# 1.创建按钮组
sex_group = QButtonGroup(window)

# 2.添加按钮
sex_group.addButton(r_male, 1)
sex_group.addButton(r_female, 2)

# 是否
r_yes = QRadioButton("", window)
r_no = QRadioButton("", window)
r_yes.move(300, 100)
r_no.move(300, 150)
answer_group = QButtonGroup(window)
answer_group.addButton(r_yes)
answer_group.addButton(r_no)

answer_group.setId(r_yes, 1)  # 设置按钮组按钮ID
answer_group.setId(r_no, 2)

print(answer_group.id(r_yes))
print(answer_group.id(r_no))
r_no.setChecked(True)  # 默认选中
print(answer_group.checkedId())

# sex_group.setExclusive(False)  # 设置排他性

# sex_group.removeButton(r_female)  # 移除按钮


def test(val):
    # print(val)
    print(sex_group.id(val))
sex_group.buttonClicked.connect(test)  # 信号
# sex_group.buttonPressed.connect(test)
# sex_group.buttonReleased.connect(test)
# sex_group.buttonToggled.connect()
# sex_group.buttonClicked[int].connect(test) #可以传按钮ID

window.show()
sys.exit(app.exec_())
View Code

技术图片

以上是关于pyqt学习之ButtonGroup的主要内容,如果未能解决你的问题,请参考以下文章

pyqt5学习之QToolButton

pyqt5学习之QRadioButton

PYQT学习之自定义信号

pyqt5学习之QSpinBox

GUI学习之二——PyQt控件初识

PyQt5 控件学习(一个一个学习之QMessageBox)