pyqt6判断sengder
时间: 2024-05-07 21:13:44 浏览: 14
在PyQt6中,可以使用`sender()`方法来判断信号的发送者。`sender()`方法返回发送信号的对象的指针。通过比较发送者的指针和已知对象的指针,可以确定信号是由哪个对象发送的。
以下是一个示例代码,演示了如何使用`sender()`方法来判断信号的发送者:
```python
from PyQt6.QtWidgets import QApplication, QMainWindow, QPushButton
from PyQt6.QtCore import QObject, pyqtSlot
class MyObject(QObject):
@pyqtSlot()
def mySlot(self):
sender = self.sender()
if isinstance(sender, QPushButton):
print("信号发送者是QPushButton")
else:
print("信号发送者不是QPushButton")
app = QApplication([])
window = QMainWindow()
button1 = QPushButton("按钮1", window)
button2 = QPushButton("按钮2", window)
myObject = MyObject()
button1.clicked.connect(myObject.mySlot)
button2.clicked.connect(myObject.mySlot)
window.show()
app.exec()
```
在上面的代码中,我们创建了两个按钮`button1`和`button2`,并将它们的`clicked`信号连接到`mySlot`槽函数。在`mySlot`函数中,我们使用`sender()`方法获取信号的发送者,并通过`isinstance()`函数判断发送者是否为`QPushButton`。根据判断结果,我们输出相应的信息。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)