
Event::delSignal()을 사용하여 연결된 슬롯을 제거하는 방법은 다음과 같습니다.
- disconnect() 메서드를 사용하여 슬롯을 제거합니다. disconnect() 메서드는 특정 슬롯을 제거하는 대신, 모든 슬롯을 제거하는 connect() 메서드와는 반대입니다.
- disconnect() 메서드는 여러 개의 슬롯을 한 번에 제거할 수 있습니다. 예를 들어, self.mySignal.disconnect(self.mySlot, self.anotherSlot)과 같이 사용할 수 있습니다.
- disconnect() 메서드는 슬롯이 제거된 후에 emit() 메서드를 호출할 수 있습니다. 예를 들어, obj.delSignal()을 호출한 후 obj.mySignal.emit()을 호출할 수 있습니다.
위 예제에서 Event::delSignal()을 사용하여 연결된 슬롯을 제거하는 방법은 다음과 같습니다.
#hostingforum.kr
python
from PyQt5.QtCore import pyqtSignal
class MyClass:
mySignal = pyqtSignal()
def __init__(self):
self.mySignal.connect(self.mySlot)
def mySlot(self):
print("Signal received")
def delSignal(self):
self.mySignal.disconnect(self.mySlot)
obj = MyClass()
obj.mySignal.emit() # Signal received
obj.delSignal()
obj.mySignal.disconnect() # 모든 슬롯 제거
obj.mySignal.emit() # NOTHING
위 예제에서 Event::delSignal()을 사용하여 연결된 슬롯을 제거하는 방법은 다음과 같습니다.
#hostingforum.kr
python
from PyQt5.QtCore import pyqtSignal
class MyClass:
mySignal = pyqtSignal()
def __init__(self):
self.mySignal.connect(self.mySlot)
def mySlot(self):
print("Signal received")
def delSignal(self):
self.mySignal.disconnect(self.mySlot)
obj = MyClass()
obj.mySignal.emit() # Signal received
obj.delSignal()
obj.mySignal.disconnect(self.mySlot) # 특정 슬롯 제거
obj.mySignal.emit() # NOTHING
위 예제에서 Event::delSignal()을 사용하여 연결된 슬롯을 제거하는 방법은 다음과 같습니다.
#hostingforum.kr
python
from PyQt5.QtCore import pyqtSignal
class MyClass:
mySignal = pyqtSignal()
def __init__(self):
self.mySignal.connect(self.mySlot)
def mySlot(self):
print("Signal received")
def delSignal(self):
self.mySignal.disconnect(self.mySlot)
obj = MyClass()
obj.mySignal.emit() # Signal received
obj.delSignal()
obj.mySignal.disconnect(self.mySlot, self.anotherSlot) # 여러 슬롯 제거
obj.mySignal.emit() # NOTHING
2025-07-11 08:00