📅  最后修改于: 2023-12-03 15:18:46.600000             🧑  作者: Mango
在 PyQt5 中,单选按钮是常见的 GUI 元素之一。它们通常用于让用户从几个可选项中选择一个,而不能同时选择多个选项。
创建一个单选按钮的语法如下:
QRadioButton(self, str)
其中 self
是指对当前窗口的引用,而 str
是指单选按钮的文本。
例如,我们可以创建一个名为 radio_button
的单选按钮并将其添加到窗口中:
from PyQt5.QtWidgets import QWidget, QRadioButton, QVBoxLayout
class MyWindow(QWidget):
def __init__(self):
super().__init__()
radio_button = QRadioButton('Choose me')
layout = QVBoxLayout()
layout.addWidget(radio_button)
self.setLayout(layout)
我们可以使用 isChecked()
函数来检查单选按钮是否被选中,如果被选中则返回 True
,否则返回 False
。
我们可以创建一个包含两个单选按钮的窗口,并检查它们的状态:
from PyQt5.QtWidgets import QWidget, QRadioButton, QVBoxLayout
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.radio_button1 = QRadioButton('Option 1')
self.radio_button2 = QRadioButton('Option 2')
layout = QVBoxLayout()
layout.addWidget(self.radio_button1)
layout.addWidget(self.radio_button2)
self.setLayout(layout)
def check_radio_button(self):
if self.radio_button1.isChecked():
print('Option 1 selected')
elif self.radio_button2.isChecked():
print('Option 2 selected')
else:
print('No option selected')
以下是一个包含多个单选框的示例窗口:
from PyQt5.QtWidgets import QWidget, QRadioButton, QVBoxLayout
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.radio_button1 = QRadioButton('Option 1')
self.radio_button2 = QRadioButton('Option 2')
self.radio_button3 = QRadioButton('Option 3')
self.radio_button4 = QRadioButton('Option 4')
layout = QVBoxLayout()
layout.addWidget(self.radio_button1)
layout.addWidget(self.radio_button2)
layout.addWidget(self.radio_button3)
layout.addWidget(self.radio_button4)
self.setLayout(layout)
此外,我们可能还需要为单选按钮添加信号-槽机制,以便在单选按钮状态发生变化时接收通知。