PyQt5 可选按钮
时间: 2024-06-18 21:03:35 浏览: 112
PyQt5中的可选按钮是一种常用的用户界面元素,也称为单选按钮或者复选框,可以让用户在几个选项之间进行选择。在PyQt5中,可选按钮可以通过QCheckBox和QRadioButton两种控件来实现。
QCheckBox是一个复选框控件,它可以让用户选择多个选项。可以使用setChecked()方法来设置复选框的状态,isChecked()方法来获取复选框的状态。以下是一个简单的示例:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QCheckBox, QVBoxLayout
import sys
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
vbox = QVBoxLayout()
cb = QCheckBox('Show title', self)
cb.move(20, 20)
cb.toggle()
cb.stateChanged.connect(self.changeTitle)
vbox.addWidget(cb)
self.setLayout(vbox)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('QCheckBox')
self.show()
def changeTitle(self, state):
if state == Qt.Checked:
self.setWindowTitle('QCheckBox')
else:
self.setWindowTitle('')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
QRadioButton是一个单选按钮控件,它可以让用户在多个互斥的选项之间进行选择。可以使用setChecked()方法来设置单选按钮的状态,isChecked()方法来获取单选按钮的状态。以下是一个简单的示例:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QRadioButton, QVBoxLayout
import sys
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
vbox = QVBoxLayout()
rb1 = QRadioButton('Option 1', self)
rb1.move(20, 20)
rb1.setChecked(True)
rb1.toggled.connect(self.onClicked)
rb2 = QRadioButton('Option 2', self)
rb2.move(20, 40)
rb2.toggled.connect(self.onClicked)
vbox.addWidget(rb1)
vbox.addWidget(rb2)
self.setLayout(vbox)
self.setGeometry(300, 300, 250, 150)
self.setWindowTitle('QRadioButton')
self.show()
def onClicked(self):
radioButton = self.sender()
if radioButton.isChecked():
print('Selected: ' + radioButton.text())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
以上示例展示了如何创建、设置和使用QCheckBox和QRadioButton控件。
阅读全文