Shaun McCance
shaunm@gnome.org 2011–2012
그래픽 인터페이스용 위젯 툴킷
조성호
shcho@gnome.org 2016, 2017, 2018.

# GTK+

GTK+는 그놈 사용자 인터페이스를 구성하는데 활용하는 기초 라이브러리입니다. GTK는 "GIMP 툴 킷"이며, 원래 그림 편집 프로그램용으로 작성했고, 나중에 독립 라이브러리로 따로 빼냈습니다. 일반 그래픽 기반 프로그램에서 활용하는 모든 사용자 인터페이스 컨트롤, 또는 위젯을 제공합니다. 객체지향 API에서는 저수준의 구체적인 드로잉 및 장치 연동을 하지 않고도 사용자 인터페이스를 구성할 수 있게 합니다.

기본 위젯과 더불어, 단추, 확인 상자, 텍스트 항목에 대해 GTK+에서는 트리 뷰, 다중 라인 텍스트 필드, 메뉴, 도구 표시줄 동작에 대해 모델-뷰-컨트롤러(MVC) API를 제공합니다.

GTK+ 위젯은 박스 패킹 모델에 따라 창에 배치합니다. 프로그래머는 절대 좌표값으로 위젯을 직접 배치하지 않고, 컨테이너 상자에 어떻게 위젯을 함께 감싸 넣느냐만 정의합니다. 따라서, GTK+로 내용에 맞춰 창 크기를 올바로 나타내며, 창 크기 조절시 자동으로 처리합니다. 아라비아어, 히브리어 같은 RTL 언어의 경우, GTK+에서는 자동으로 사용자 인터페이스를 왼쪽에서 오른쪽으로 방향을 바꾸어 컨트롤을 기대하는 보기 순서로 배치합니다.

GTK+에서는 프로그램에서 활용할 개별 위젯을 새로 만들 수 있습니다. 자체 또는 기존의 위젯과 유사하게, 개별 위젯 또한 GTK+에서 보유한 RTL 언어 지원, 접근성 인터페이스, 키보드 탐색, 자동 크기 조절 등의 모든 기능을 지원합니다.

Official web site

Demo tutorial

Reference Manual

git repository

메일링 리스트:

GTK+ 프로그램 작성법

GTK+ 일반 대화

GTK+ 개발