- for masOS (5/9)
이 파트에서는 macOS 환경에서 QGroundControl(QGC)의 사용자 인터페이스(UI) 구조를 설명합니다. QGC는 Qt/QML 기반으로 설계되어 있으며, FactSystem과 전용 UI 컨트롤을 적극 활용합니다. 공식 Developer Guide의 UI 디자인 원칙을 반영했습니다.
Fly View : 실시간 드론 모니터링/제어
Plan View : 비행 경로 및 Survey 계획
Analyze View : 로그 분석, MAVLink Inspector, 파라미터 관리
Setup View : 센서 보정, 펌웨어 업데이트, 기체 설정
QML UI + C++ Controller + FactSystem 구조
Vehicle 데이터가 Fact 객체로 QML에 바인딩됨
MVC 변형 패턴 기반
동일 QML 코드로 macOS 데스크탑과 iOS 태블릿 모두 지원
반응형 레이아웃으로 화면 크기별 자동 조정
Retina Display에서 고해상도 UI 자동 적용
QGCPalette, QGCMapPalette 사용
라이트/다크 모드 대응
ScreenTools로 Retina 해상도에 맞춘 폰트 크기 적용
QGCButton, QGCLabel, QGCComboBox 등 전용 컨트롤
DropButton, QGCView, QGCViewDialog, SetupPage 등 고급 컨트롤
UI 개발 시 표준 QML 대신 QGC 컨트롤 권장
Fact 객체는 데이터와 UI를 자동 동기화
FactMetaData는 값의 범위, 단위, 유효성을 관리
FactGroup을 통해 모듈별 데이터를 그룹화하고 UI 자동화
Retina Display에 최적화된 UI
다중 모니터 연결 시 UI Scaling 필요
macOS 보안 권한 문제로 앱 실행 차단 시 '보안 및 개인정보 보호'에서 허용해야 함