2012-02-29 1 views
0

내 프로그램 (qt 사용) 주변에 인터페이스를 쓰려고합니다. 기본적으로 나는 메인 윈도우를 가지고있다. 그리고 나서 어떤 지점에서 그것은 "유저에게 상호 작용을 요청해야한다". -이 대화 상자를 사용하고 있습니다.QT에서 서브 윈도우 관리하기

대화 상자 창에 대해 읽었을 때 대화 상자 창에 부모 창 (항상 추측되는 기본 창)이 있어야한다는 것을 알게되었습니다. 이제는 내 프로젝트에서 구현하기가 번거롭다는 것을 알았습니다. 변경하고 싶지 않은 코드를 변경해야하는 것처럼 보입니다.

기본적으로 주 프로그램은 명령 행 인터페이스였습니다. 그리고 사용자 상호 작용을 위해 프로그램은 단지 & 사용자 상호 작용을 표시하는 클래스를 생성합니다. GUI 버전에서는 해당 클래스에서 파생되며 파생 클래스는 올바른 대화 상자 창을 래핑합니다.

이제 문제는 명령 줄 인터페이스에는 "windows"또는 "qt"에 대한 이야기가 없다는 것입니다. - 백본 어플리케이션은 qt에 대해 아무 것도 알아야하지 않습니다. 통신은 간단하게 다음과 같이이다 :

MAIN_WINDOW -> tells backbone to start acting upon X 
    -> BACKBONE -> asks for UI (opens class with DIALOG). 

이제 문제는 : 나는 대화 상자 (QT의 아무것도 알고) BACKBONE을 통해 MAIN_WINDOW 포인터를 얻는 방법? 이 경우 MAIN_WINDOW에 대한 싱글 톤/글로벌 변수를 사용해야합니까? 더 나은 패러다임이 있기를 바랍니다.

답변