목적

PyQt Platform에서 제공하는 Signal함수를 알기 위함.
Robot Project에서 사용!

순서

I. Signal
II. PyQt Signal 사용법
III. Project에서 사용했던 방법


I. Signal

Signal은 Programming/ TCPIP에서 설명을 했지만

간단하게 말하면 "특정 행동 및 입력에 대해 반응하는 것" 이다.
Ctrl+'Z'로 되돌리기, 모든 키보드의 입력 등이 발생하면
처리해주는 그런느낌...

주로 사용법은 다음과 같다.

1. Signal에 행동 등록(Function)
2. 특정 시그널 입력 시 등록된 행동 개시(emit)


II. PyQt Signal 사용법

PyQt Signal의 사용 순서는 다음과 같다.

1. import pyqtSignal (모듈 import)
2. Signal Class생성
3. connect() (함수 등록)
4. emit() (실행)

from PyQt5.QtCore import Qt, pyqtSignal, QObject

class Signalclass(QObject):
    signal_name = pyqtSignal(인자의 type) # 인자가 없으면 ()

class mainClass():
    def __init__(self):
    
        self.sigclass = Signalclass() # 클래스  객체생성
    
        self.sigclass. signal_name. connect(yourFunc) # 시그널 - 함수 연결
        
        self.sigclass. signal_name.emit(함수 인자) # emit으로 시그널 실행
        
    def yourFunc(arg) :

상단의 Signal 정의만을 위한
QObject를 상속받은 Class는 필수이다!!


III. Project에서 사용했던 방법

프로젝트 구조는 C++, Python Network 파일, Python Main 파일

3가지가 있었다.

1. Python Network에서 데이터를 recv()하면
2. Python Main에 있는 Update함수로 넘겨줘야 했다.

Update 중

+ Recent posts