Qt와 QML을 처음 배우는 분을 위한 체계적인 입문 강좌입니다. 너드순식이와 함께 Qt의 기본 개념부터 Qt Quick, QML UI, C++ 연동, 크로스 플랫폼 애플리케이션 제작까지 차근차근 배워봅니다. 주요 학습 내용 • Qt의 개념과 역사• Qt 개발 환경 구성• Qt Quick과 QML 기초• 선언형 UI와 레이아웃• 시그널과 슬롯• QML과 C++ 연동• 애니메이션과 사용자 입력• 데스크톱 및 임베디드 UI• 실전 크로스 플랫폼 프로젝트 처음에는 개념을 쉽게 이해하고, 이후에는 직접 실행할 수 있는 코드와 프로젝트로 실력을 쌓도록 구성했습니다. Qt 입문자, GUI 개발자, C++ 개발자, 임베디드 개발에 관심 있는 분께 추천합니다.
Curated by: 너드 순식이의 Qt 이야기 (33 videos)
25강에서 Dialog와 Popup으로 결정을 받았다면, 이번에는 그 창을 여는 카드 자체를 봅니다. 클릭은 한 번의 신호처럼 보이지만 실제로는 누름·이동·놓음의 흐름이고, 어느 지점에서 작업을 확정할지는 우리가 고르는 것입니다. 한 영역에서 여러 입력을 받아야 하면 MouseArea, 행동이 여럿이면 행동마다 Handler 하나. 공식 문서가 쓰는 표현은 "one handler instance per aspect of interaction" 입니다. (기준: Qt 6.8.x) 주요 내용 - 클릭은 누름·이동·놓음의 결과 — clicked는 놓는 순간 발생 - acceptedButtons 기본값은 Qt.LeftButton — 오른쪽 클릭은 따로 켠다 - hoverEnabled 기본값은 false — 켜지 않으면 containsMouse가 안 바뀐다 - MouseArea와 Pointer Handler, 어느 쪽을 쓸지 - ★ 한 측면에 Handler 하나 — 언제 MouseArea를 쪼갤지의 기준 - ★ gesturePolicy는 네 가지 — DragThreshold · WithinBounds · ReleaseWithinBounds · DragWithinBounds - ★ 같은 작업이 두 번 실행되는 이유 — tapped는 탭할 때마다 발생한다 exclusiveSignals(Qt 6.5)로 singleTapped · doubleTapped를 배타적으로 - 호버는 모든 입력 장치에 있는 개념이 아니다 - DragHandler 경계 제한 — 최대값에서 카드 크기를 뺀다 - ★ snapMode 기본값 SnapAuto — 큰 카드가 "툭 점프"하는 것처럼 보이는 이유 - 위치의 주인은 누구인가 — anchors·Layout과 드래그는 같은 축을 다툰다 (23강) - ★ passive grab과 exclusive grab — Flickable·Tap·Drag가 공존하는 메커니즘 - preventStealing: true는 "내 입력을 지킨다"가 아니라 "스크롤을 포기한다" - 카드는 Button이 아니다 — 접근성과 포커스는 공짜로 오지 않는다 (24강) - 입력이 안 올 때의 5단계 진단 더 체계적인 Qt/QML 글과 예제는 Linu.Dev 테크 아카이브에서 확인하세요. https://bit.ly/4zd3tQB Qt의 새로운 소식은 인스타그램과 틱톡에서도 만나보세요. 인스타그램: https://www.instagram.com/linu.dev/ 틱톡: https://www.tiktok.com/@soonsik_qt 26강 독립사이트 글: https://linu-dev-qt-qml.crazydk76.chatgpt.site/articles/qml-pointer-input 26강 네이버 블로그 글: https://blog.naver.com/linu_kim/224431057676 #Qt #QML #QtQuick #MouseArea #PointerHandler #TapHandler #DragHandler #Qt6 #UI개발 #프로그래밍강의 #LinuDev #너드순식이