pyqt5按钮组 信号与槽
时间: 2023-07-04 14:03:36 浏览: 108
浅谈pyqt5中信号与槽的认识
PyQt5中的按钮可以使用QPushButton类创建。您可以使用QPushButton的clicked信号连接到一个槽,该槽将在按下按钮时被调用。
以下是一个简单的示例,演示如何在PyQt5中创建按钮组以及如何连接按钮的clicked信号到槽:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout
class MyWidget(QWidget):
def __init__(self):
super().__init__()
# 创建三个按钮
self.button1 = QPushButton("Button 1")
self.button2 = QPushButton("Button 2")
self.button3 = QPushButton("Button 3")
# 将按钮添加到垂直布局中
layout = QVBoxLayout()
layout.addWidget(self.button1)
layout.addWidget(self.button2)
layout.addWidget(self.button3)
self.setLayout(layout)
# 连接按钮的clicked信号到槽
self.button1.clicked.connect(self.buttonClicked)
self.button2.clicked.connect(self.buttonClicked)
self.button3.clicked.connect(self.buttonClicked)
def buttonClicked(self):
# 获取发送信号的按钮对象
sender = self.sender()
# 根据按钮对象进行相应处理
if sender == self.button1:
print("Button 1 clicked")
elif sender == self.button2:
print("Button 2 clicked")
elif sender == self.button3:
print("Button 3 clicked")
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
widget.show()
sys.exit(app.exec_())
```
在这个示例中,我们创建了三个QPushButton对象,并将它们添加到一个QVBoxLayout布局中。然后,我们将每个按钮的clicked信号连接到一个名为buttonClicked的槽。在槽中,我们使用sender()方法获取发送信号的按钮对象,并根据该对象进行相应处理。
当您运行此示例时,单击任何一个按钮都会在控制台中输出相应的消息。
阅读全文