在PyQt5中如何将其连接不同按键,调用不同的class
时间: 2023-05-17 14:06:58 浏览: 225
pyqt 多窗口之间的相互调用方法
在PyQt5中,可以使用信号和槽机制来连接不同的按键,调用不同的class。具体步骤如下:
1. 创建一个主窗口,并在窗口中添加多个按键。
2. 创建多个class,每个class对应一个按键的功能。
3. 在主窗口中定义槽函数,用于接收不同按键的信号。
4. 将每个按键的信号连接到对应的槽函数。
5. 在槽函数中调用对应的class,实现按键功能。
下面是一个简单的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
class ClassA:
def __init__(self):
print("ClassA")
class ClassB:
def __init__(self):
print("ClassB")
class MainWin(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
btnA = QPushButton("ClassA", self)
btnA.move(50, 50)
btnA.clicked.connect(self.slotA)
btnB = QPushButton("ClassB", self)
btnB.move(150, 50)
btnB.clicked.connect(self.slotB)
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('PyQt5')
self.show()
def slotA(self):
a = ClassA()
def slotB(self):
b = ClassB()
if __name__ == '__main__':
app = QApplication(sys.argv)
win = MainWin()
sys.exit(app.exec_())
```
在这个示例中,我们创建了两个class:ClassA和ClassB,分别对应两个按键的功能。在主窗口中,我们定义了两个槽函数:slotA和slotB,用于接收按键的信号。在initUI函数中,我们创建了两个按键,并将它们的信号连接到对应的槽函数。在槽函数中,我们分别调用了ClassA和ClassB,实现了按键的功能。
阅读全文