서브위젯에서 다른 서브위젯 참조

2012. 7. 16. 11:10언어/QT

QT에서 Main.h, A.h, B.h파일이 있다고 가정하였을 때 Main에서 A를 불러오고 A에서 B를 선언하고 B에서 A를 

선언하면 오류에 시달리게 된다. 빌더에서는 문제없이 되는데... 이유는 잘 모르겠지만 이럴땐 이렇게 선언해줘

야 한다. Main에서 A와 B를 먼저 선언하고 

A와 B의 cpp파일에 #include "mainwindow.h" 파일을 선언한다.

그리고 전역 변수로 MainWindow *amw; 를 선언하여 준다.

마지막으로 생성자에서 다음과 같이 코딩하고 사용하면 된다.

amw = (MainWindow *)parent;

B의 경우도 

bmw = (MainWindow *)parent;로 선언 해주고 A클래스의 함수를 참조 할때는 다음과 같이 사용해야 한다.

bmw->a->함수();

A Class에서 B Class를 참조할때도 비슷한 방법을 써줘야 한다.

amw->b->함수();



'언어 > QT' 카테고리의 다른 글

QString to char array  (0) 2012.07.30
QT 컴파일 하기  (0) 2012.07.27
메인윈도우 시스템 메뉴바 없애기  (0) 2012.07.05
클릭한 오브젝트 정보 가져오기  (0) 2012.05.22
Object name 가져오기  (0) 2012.05.08