📅  最后修改于: 2023-12-03 14:46:50.318000             🧑  作者: Mango
QRadiobutton
是 PyQT5 中的一个控件,它表示一个单选按钮,用户可以从一组选项中选择一个。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QRadioButton
import sys
class App(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("QRadioButton示例")
self.setGeometry(200, 200, 300, 150)
layout = QVBoxLayout()
radio_btn1 = QRadioButton("选项一")
radio_btn1.setChecked(True)
radio_btn1.toggled.connect(lambda:self.on_toggled(radio_btn1))
layout.addWidget(radio_btn1)
radio_btn2 = QRadioButton("选项二")
radio_btn2.toggled.connect(lambda:self.on_toggled(radio_btn2))
layout.addWidget(radio_btn2)
self.setLayout(layout)
def on_toggled(self, btn):
if btn.isChecked():
print("选中了 " + btn.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
ex.show()
sys.exit(app.exec_())
首先,我们导入必要的模块:QApplication
、QWidget
、QVBoxLayout
和 QRadioButton
。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QRadioButton
import sys
然后,我们创建一个继承自 QWidget
的 App
类。
class App(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("QRadioButton示例")
self.setGeometry(200, 200, 300, 150)
layout = QVBoxLayout()
radio_btn1 = QRadioButton("选项一")
radio_btn1.setChecked(True)
radio_btn1.toggled.connect(lambda:self.on_toggled(radio_btn1))
layout.addWidget(radio_btn1)
radio_btn2 = QRadioButton("选项二")
radio_btn2.toggled.connect(lambda:self.on_toggled(radio_btn2))
layout.addWidget(radio_btn2)
self.setLayout(layout)
def on_toggled(self, btn):
if btn.isChecked():
print("选中了 " + btn.text())
我们在构造函数中创建了一个 QVBoxLayout
布局,然后添加了两个 QRadioButton
控件,一个设置为默认选中状态。
我们还关联了 toggled
信号到 on_toggled
槽函数。这个函数会检查哪个单选按钮被选中,并输出相关提示信息。
最后,我们创建了应用程序对象并运行 PyQt5。
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
ex.show()
sys.exit(app.exec_())
在运行上面的代码时,会显示两个单选按钮。
选中一个单选按钮后,会在控制台输出一个提示信息。