개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.11 07:59

Event::delSignal의 사용법에 관해 질문

목록
  • PWA전도사 11일 전 2025.07.11 07:59
  • 44
    1
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.emit()  # NOTHING



위 예제에서 Event::delSignal()을 사용하여 연결된 슬롯을 제거하는 방법을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  11일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,923건 / 1 페이지

검색

게시물 검색