<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://wiki.conaondaapps.com/index.php?action=history&amp;feed=atom&amp;title=Qt_%EB%8F%84%ED%82%B9_UI</id>
	<title>Qt 도킹 UI - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.conaondaapps.com/index.php?action=history&amp;feed=atom&amp;title=Qt_%EB%8F%84%ED%82%B9_UI"/>
	<link rel="alternate" type="text/html" href="https://wiki.conaondaapps.com/index.php?title=Qt_%EB%8F%84%ED%82%B9_UI&amp;action=history"/>
	<updated>2026-08-20T14:56:41Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://wiki.conaondaapps.com/index.php?title=Qt_%EB%8F%84%ED%82%B9_UI&amp;diff=46&amp;oldid=prev</id>
		<title>Admina7ec671ac513: migrate: import legacy Wiki content to Vultr</title>
		<link rel="alternate" type="text/html" href="https://wiki.conaondaapps.com/index.php?title=Qt_%EB%8F%84%ED%82%B9_UI&amp;diff=46&amp;oldid=prev"/>
		<updated>2026-08-20T04:18:54Z</updated>

		<summary type="html">&lt;p&gt;migrate: import legacy Wiki content to Vultr&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Qt 도킹 UI&amp;#039;&amp;#039;&amp;#039;는 도구 창, 편집기, 속성 패널, 로그 창 같은 여러 작업 패널을 사용자가 탭으로 묶고, 분할하고, 떼어 내고, 다시 결합할 수 있게 만든 Qt 데스크톱 사용자 인터페이스 패턴이다. 이 문서는 공개 C++ 라이브러리 [https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System Qt Advanced Docking System](ADS)을 중심 사례로 다룬다.&lt;br /&gt;
&lt;br /&gt;
== 개요 ==&lt;br /&gt;
&lt;br /&gt;
복잡한 데스크톱 응용프로그램은 하나의 고정 화면보다 작업에 따라 바꿀 수 있는 작업공간이 필요하다. 영상 분석자는 지도와 영상, 히스토그램, 레이어, 메타데이터를 동시에 보고 싶을 수 있고, 3D 편집자는 뷰포트, 장면 트리, 속성, 콘솔을 서로 다른 모니터에 배치할 수 있다. 도킹 UI는 각 기능을 독립 패널로 만들고 사용자의 화면 크기와 역할에 맞춰 재구성하게 한다.&lt;br /&gt;
&lt;br /&gt;
Qt 자체에도 &amp;lt;code&amp;gt;QDockWidget&amp;lt;/code&amp;gt;이 있지만 ADS는 Visual Studio와 같은 IDE에 가까운 도킹 경험을 목표로 한다. 2026년 8월 16일 확인한 공개 저장소 README는 메인 창의 모든 경계와 각 도크 영역에 도킹, 부동 창 내부에 다시 도킹, 탭 그룹 전체 이동, 레이아웃 관점(perspective) 저장, 자동 숨김, 취소 가능한 드래그, 동적 도크 삭제를 지원한다고 설명한다. Qt 5와 Qt 6을 지원하고 PyQt5·PyQt6·PySide6용 파이썬 바인딩도 안내한다.&lt;br /&gt;
&lt;br /&gt;
README의 최신 주요 항목은 릴리스 5.0으로, 전체 다크 모드와 네이티브 Wayland 도킹 지원을 강조한다. 저장소는 LGPL-2.1 라이선스로 공개되어 있다. 실제 제품에 포함할 때에는 동적·정적 링크 방식, 수정한 라이브러리의 제공 의무 등 LGPL 조건을 프로젝트 배포 구조와 함께 검토해야 한다.&lt;br /&gt;
&lt;br /&gt;
== 핵심 구조/작동 방식 ==&lt;br /&gt;
&lt;br /&gt;
ADS의 중심은 &amp;lt;code&amp;gt;CDockManager&amp;lt;/code&amp;gt;이다. &amp;lt;code&amp;gt;QMainWindow&amp;lt;/code&amp;gt;에 관리자를 만들고, 응용프로그램별 &amp;lt;code&amp;gt;QWidget&amp;lt;/code&amp;gt;을 &amp;lt;code&amp;gt;CDockWidget&amp;lt;/code&amp;gt;의 내용으로 넣은 뒤 원하는 도킹 영역에 추가한다. &amp;lt;code&amp;gt;CDockAreaWidget&amp;lt;/code&amp;gt;은 여러 도크 위젯을 탭으로 묶는 영역이고, 분할 경계에는 Qt의 &amp;lt;code&amp;gt;QSplitter&amp;lt;/code&amp;gt;가 사용된다. 부동 컨테이너도 도크 영역을 가질 수 있어 메인 창과 유사한 방식으로 패널을 다시 분할하거나 탭으로 결합한다.&lt;br /&gt;
&lt;br /&gt;
기본 동작은 다음과 같다.&lt;br /&gt;
&lt;br /&gt;
# 응용프로그램이 패널의 제목, 내용 위젯, 닫기·삭제 정책, 허용 영역을 구성한다.&lt;br /&gt;
# 사용자가 탭이나 제목 표시줄을 끌면 시스템은 즉시 원래 패널을 제거하지 않고 드래그 미리보기와 놓기 오버레이를 표시한다.&lt;br /&gt;
# 마우스를 놓을 때 선택된 영역에 실제 레이아웃 변경을 적용한다. 놓기 전에는 Escape 키로 취소할 수 있다.&lt;br /&gt;
# 같은 영역의 탭은 하나의 그룹으로 이동할 수 있고, 화면 가장자리의 사이드바에 고정하면 자동 숨김 패널이 된다.&lt;br /&gt;
# 현재 도크 집합과 배치를 직렬화해 저장하고 복원할 수 있다. 이름 붙인 perspective를 여러 개 두면 분석, 편집, 검토 같은 작업 모드 사이를 빠르게 전환할 수 있다.&lt;br /&gt;
&lt;br /&gt;
분할기 크기 변경은 불투명 방식과 지연 방식 중 고를 수 있다. 불투명 방식은 드래그 중 내용을 계속 다시 그려 즉각적이지만, 무거운 OpenGL·영상 위젯에서는 깜박임이나 부하가 생길 수 있다. 지연 방식은 마우스를 놓을 때 최종 크기를 적용한다. 표시·숨김 명령은 각 도크의 &amp;lt;code&amp;gt;toggleViewAction()&amp;lt;/code&amp;gt;을 메뉴나 도구 모음에 연결하는 방식으로 제공할 수 있다.&lt;br /&gt;
&lt;br /&gt;
== 활용 ==&lt;br /&gt;
&lt;br /&gt;
도킹 UI는 IDE, GIS, 원격탐사 영상 분석기, 과학 시각화, 산업 검사, 디버거, 3D 저작 도구처럼 기능 패널이 많은 응용프로그램에 적합하다. [[COG 웹 가시화]] 기능을 데스크톱 셸에 포함한다면 지도, 밴드 조정, 좌표, 다운로드 상태를 별도 도크로 나눌 수 있다. [[고충실도 3D 시뮬레이션]] 저작 환경에서는 뷰포트, 엔티티 트리, 물리 속성, 성능 프로파일러를 역할별 perspective로 구성할 수 있다.&lt;br /&gt;
&lt;br /&gt;
고정된 하나의 배치를 모든 사용자에게 강요하지 않는다는 점도 장점이다. 단일 모니터에서는 자동 숨김으로 공간을 확보하고, 다중 모니터에서는 부동 창을 분리할 수 있다. 저장된 작업공간을 사용자 설정 또는 프로젝트 설정으로 관리하면 특정 검토 절차를 재현하기 쉬워진다.&lt;br /&gt;
&lt;br /&gt;
== 한계 및 주의점 ==&lt;br /&gt;
&lt;br /&gt;
자유도가 높을수록 사용자가 패널을 잃어버리거나 지나치게 복잡한 배치를 만들 수 있다. 기본 배치 복원, 필수 패널 표시 메뉴, 레이아웃 버전 관리와 손상 시 대체값이 필요하다. 모든 패널을 도킹 가능하게 만드는 것도 바람직하지 않다. 짧은 확인 대화상자나 단일 작업 흐름은 고정 레이아웃이 더 명확할 수 있다.&lt;br /&gt;
&lt;br /&gt;
운영체제의 창 시스템 차이도 중요하다. 공식 README에 따르면 Wayland는 클라이언트가 최상위 창의 화면 좌표를 직접 정하거나 전역 커서 위치를 조회하는 것을 제한한다. Qt 6.6.3부터 관련 도킹을 지원하지만, 부동 창 장식, 드래그 방식, 항상 위 동작, 저장 위치 복원은 Windows·X11과 다를 수 있다. macOS는 컴파일 가능하다고 보고되었으나 프로젝트 작성자가 직접 충분히 시험한 환경은 아니라고 명시한다.&lt;br /&gt;
&lt;br /&gt;
무거운 렌더링 위젯을 이동·리사이즈하면 GPU 컨텍스트, 고해상도 화면 배율, 포커스, 키보드 단축키 문제가 나타날 수 있다. 대상 OS와 다중 모니터, 화면 배율, 절전·복귀, 레이아웃 업그레이드를 실제 장비에서 시험해야 한다. 또한 ADS가 지원하는 Qt 버전과 Python 패키지의 배포 주기는 같지 않을 수 있으므로 각 바인딩의 버전 호환성을 별도로 확인한다.&lt;br /&gt;
&lt;br /&gt;
== 함께 보기 ==&lt;br /&gt;
&lt;br /&gt;
* [[최근 GitHub Star 연구 주제]]&lt;br /&gt;
* [[COG 웹 가시화]]&lt;br /&gt;
* [[고충실도 3D 시뮬레이션]]&lt;br /&gt;
* [[에디토리얼 다이어그램]]&lt;br /&gt;
&lt;br /&gt;
== 출처 ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System Qt Advanced Docking System 공개 저장소 및 README] — 기능, 지원 환경, 예제, LGPL-2.1 라이선스. 2026년 8월 16일 확인.&lt;br /&gt;
* [https://githubuser0xffff.github.io/Qt-Advanced-Docking-System/ Qt Advanced Docking System 공식 문서] — 구성요소, 레이아웃 저장, 자동 숨김과 설정. 2026년 8월 16일 확인.&lt;br /&gt;
* [https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/blob/master/README.md 공식 README 원문] — 릴리스 5.0, Wayland 제약, Qt·Python 지원. 2026년 8월 16일 확인.&lt;br /&gt;
&lt;br /&gt;
[[분류:C++ 소프트웨어]]&lt;br /&gt;
[[분류:오픈 소스]]&lt;br /&gt;
[[분류:GitHub Star 연구]]&lt;/div&gt;</summary>
		<author><name>Admina7ec671ac513</name></author>
	</entry>
</feed>