[PyQt5] 6、QButtonGroup

特徴

ID操作

  • setId(QAbstractButton, int): セット ID
  • id(QAbstractButton): ボタン ID を表示。ボタンがない場合は -1 を返す
  • checkedId(): 選択されたボタンの ID を確認し、ボタンが選択されていない場合は -1 を返します

サンプル ソース コード

# -*- coding: UTF-8 -*-
"""
# @Author: 爱打瞌睡的CV君
# @CSDN: https://blog.csdn.net/qq_44921056
"""
from PyQt5.Qt import *
import sys


# 1. 创建一个应用程序对象
app = QApplication(sys.argv)

# 2. 控件的操作
# 2.1 创建控件
window = QWidget()
# 2.2 设置控件
window.setWindowTitle("按钮组的使用")
window.resize(500, 500)

"""
将多个按钮进行分组
"""
# 创建四个单选按钮
# # 男女
# r_male = QRadioButton("男", window)
# r_female = QRadioButton("女", window)
# r_male.move(100, 100)
# r_female.move(100, 150)
#
# sex_group = QButtonGroup(window)
# sex_group.addButton(r_male)
# sex_group.addButton(r_female)
#
# # 是否
# 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)

"""
ID操作
setId(QAbstractButton, int):设置id
id(QAbstractButton):查看按钮id,不存在按钮,则返回-1
checkedId():查看选择的按钮的id,按钮没被选择,则返回-1
"""
# # 男女
# r_male = QRadioButton("男", window)
# r_female = QRadioButton("女", window)
# r_male.move(100, 100)
# r_female.move(100, 150)
# r_male.setChecked(True)  # 选中按钮 男
#
# sex_group = QButtonGroup(window)
# sex_group.addButton(r_male, 1)  # 设置按钮id
# 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)  # 选择按钮 no
# print(answer_group.checkedId())

"""
独占操作:决定按钮之间是否互斥
setExclusive(bool):True代表互斥;False代表不互斥
"""
r_male = QRadioButton("男", window)
r_female = QRadioButton("女", window)
r_male.move(100, 100)
r_female.move(100, 150)

sex_group = QButtonGroup(window)
sex_group.addButton(r_male)
sex_group.addButton(r_female)

sex_group.setExclusive(False)  # 按钮不互斥

# 2.3 展示控件
window.show()
# 3. 应用程序的执行, 进入到消息循环
sys.exit(app.exec_())

おすすめ

転載: blog.csdn.net/qq_44921056/article/details/128569574