Перейти к содержимому

[Qt QML 입문 25] QML Dialog와 Popup | 결정 흐름 만들기

너드 순식이의 Qt 이야기

0:00 / 0:00

[Qt QML 입문 25] QML Dialog와 Popup | 결정 흐름 만들기

8 просмотров · 3 недели назад
너드 순식이의 Qt 이야기
18 подписчиков
8 просмотров · 3 недели назад
24강에서 Button·TextField·Switch로 화면을 채웠다면, 이번에는 삭제처럼 되돌리기 어려운 동작 앞에서 한 번 더 묻는 방법을 다룹니다. 작은 확인 하나 때문에 새 페이지로 넘어가면 사용자는 원래 무엇을 하던 중이었는지 다시 기억해야 하고, 확인 없이 바로 실행하면 실수를 되돌릴 기회가 없습니다. Dialog는 Popup을 상속한 타입으로 제목·내용·버튼 영역을 갖추고 답을 받습니다. Popup은 더 기본적인 요소라 내부 배치와 닫기 규칙을 직접 설계합니다. open()은 아무것도 바꾸지 않고, 바꾸는 일은 결과 신호에서만 일어납니다. (기준: Qt 6.8.x) 주요 내용 Dialog는 Popup을 상속 — 답을 받는 쪽과 직접 채우는 쪽 open()은 보여 줄 뿐, 데이터를 바꾸지 않는다 accepted · rejected · applied · discarded — 결과 신호 네 갈래 ★ 문서가 "닫는다"고 적은 것은 accept()·reject()·done() 뿐 → Discard로 삭제를 확정하면 onDiscarded에서 직접 close() ★ Popup의 좌표는 parent 기준 — Overlay.overlay와 mapToItem ★ Qt 6.8 신규 popupType — Popup.Item은 창 밖으로 나갈 수 없다 작은 창에서 메뉴가 잘리는 이유와 Popup.Window ★ 네이티브 메뉴에서는 커스텀 delegate가 그려지지 않는다 ★ closePolicy 기본값은 CloseOnEscape | CloseOnPressOutside — 이미 둘 다 켜져 있다 취소는 되돌리는 것이 아니라 아직 적용하지 않는 것 — 임시 값과 저장 값 분리 ★ modal 기본 false, focus 기본 false "예/아니요" 대신 결과를 적는 버튼 문구 Popup 문제 4단계 진단 더 체계적인 Qt/QML 글과 예제는 Linu.Dev 테크 아카이브에서 확인하세요. https://bit.ly/4zd3tQB Qt의 새로운 소식은 인스타그램과 틱톡에서도 만나보세요. 인스타그램:   / linu.dev   틱톡:   / soonsik_qt   25강 독립사이트 글: https://linu-dev-qt-qml.crazydk76.cha... 25강 네이버 블로그 글: https://blog.naver.com/linu_kim/22442... #Qt #QML #QtQuick #QtQuickControls #Dialog #Popup #Qt6 #UI개발 #프로그래밍강의 #LinuDev #너드순식이