본문 바로가기

Programming

signal, slot을 연결하는 connect 에서 오류

반응형
signal과 slot을 연결하는 connect 를 사용할때 컴파일은 성공하였으나 

실행할때 sender 또는 receiver 를 못 찾는 경우가 발생할때가 있습니다.


QObject::connect: No such signal Thread::setText(const QString&txt)
QObject::connect:  (sender name:   'unnamed')
QObject::connect:  (receiver name: 'frmTest')


이런 오류가 발생할 경우 정말 막막합니다.....

구글 검색을 통해 얻은 결과는 아주 간단한 것 입니다.

이런 오류는 매개변수가 있을 때만 발생하며

매개변수의 타입은 쓰고 이름은 쓰지 말아야 합니다.

connect( &thread2, SIGNAL(setText(const QString &txt)), this, SLOT( setText(const QString &txt)));

이런 코드가

connect( &thread2, SIGNAL(setText(const QString &)), this, SLOT( setText(const QString &)));

이렇게 이름이 빠진 상태로 변경되어야 합니다.

컴파일후 실행해보시면 문제없이 실행되는 것을 보실수 있을 거에요~
반응형