2013-03-22 2 views
1

이 질문은 여러 날 동안 내 마음에있는 구조를 방출하지만 난 구조의 신호를 보내려고는 신호는

struct radarStruct 
{ 
    unsigned char *Data; 
    unsigned int rate; 
    unsigned int timeStamp; 
    float timeSec; 
}; 

내가 신호 등이 방출된다 말한다면 내가 지금

까지 지워있어

signals: 
    void radarGeneratorData(const radarStruct &); 

또는

signals: 
    void radarGeneratorData(radarStruct *); 

기타 : 서명되지 않은 char * 데이터는 신호가 그 전체 복사본을 만들지 여부는 어떻습니까 ??

unsigned char * data와 비슷한 신호를 보내는 방법.

친구 날이 분명 최선의 방법이 주로 귀하의 요구 사항에 따라 사전

+0

이 답변을 확인하십시오 : http://stackoverflow.com/questions/39495926/qt-signal-slots-sending-a-complete-structure/42875402#42875402 – JaRo

답변

3

에 신호를 통해 & 슬롯 메커니즘 ..

Thnks을 구조를 보내도록 도와주세요.

구조를 다른 객체로 보내고 구조를 "공유"하려면 변경 사항을 소스에 반영 할 수 있도록 구조체를 포인터로 보내야합니다. 그렇지 않다면 const ref로 보내고 싶을 것이다.

signal/slot 인수에서 구조를 사용하려면 먼저 Q_DECLARE_METATYPE(YourStructType)이 필요합니다. 다시 루틴 호출을 해당 프로세스가 발생했을 때 깊은 복사 /를 발생하는 경우에 관해서는

, 당신은을 통해 읽기를 가질 수

Signaling failure in qt slots

단일 스레드 통신 및 크로스 스레드 통신은 자신과 출력에서 ​​차이가 다시 귀하의 사용법에 달려 있습니다.

관련 문제