Qt 공유 라이브러리 (dll)와 Qt 애플리케이션 간의 통신을 위해 신호와 슬롯을 사용하는 실제 예제가 있습니다. 내 질문은 선호하는 방법인가, 아니면 Qt 공유 라이브러리를 다루는 더 좋은 방법인가? 여기에 세부 사항이 있습니다 :Qt 공유 라이브러리와 Qt 애플리케이션 간의 신호 및 슬롯 사용
내가 개발 한 응용 프로그램은 네트워크상의 장치를 청취하고 GUI를 업데이트하는 기능이 있습니다. 공유 라이브러리는 네트워크상의 디바이스를 리스닝하고 Qt 애플리케이션 모듈은 GUI 부분을 처리합니다.
Q_DECL_EXPORT/Q_DECL_IMPORT를 사용하여 공유 라이브러리 및 응용 프로그램에서 사용하는 공통 클래스를 내보내는 매크로가 있습니다. 이 공통 클래스는 QObject에서 파생되며 Qt 신호와 슬롯을 정의합니다. 이 공용 클래스는 공유 라이브러리 (dll)의 일부로 빌드됩니다.
쿼트 프로그램은 컴파일시 공유 라이브러리를 로딩 일반적인 클래스의 인스턴스를 생성하고 아래와 같이 인스턴스 Qt는 애플리케이션과 Qt는 공유 라이브러리 모듈 간의 신호 슬롯을 설정하는 것으로 사용
Qt는 동안에 응용 프로그램 초기화 :
// Create shared libray API class instance to access dll module features.
mp_sharedlib_api = new shareLibAPIClass(this);
이후 Qt는 응용 프로그램 :
// Connect signal/slot between shared library and Qt application
connect(
mp_sharedlib_api , SIGNAL(SignalUpdateGUIStatus(QString)),
this, SLOT(SlotUpdateGUIStatus(QString))
);
이 D에 대한 올바른 방법인가 공유 라이브러리를 사용하는 Qt 프로젝트를 만드시겠습니까? 공유 라이브러리의 API 문서는 무엇으로 구성됩니까? API 문서가 공유 라이브러리가 전송/처리하는 신호와 슬롯을 나열합니까?
미리 감사드립니다.
Qt가 공유 라이브러리라는 것을 잊고있는 것 같습니다. 그렇다면 신호와 공유 라이브러리에 문제가있을 수 있다고 생각하는 이유는 무엇입니까? –