GTK
GTK![]() | |
![]() GTK 버전4 (GTk4-widget-factory, 많은 GUI 위젯을 보여주는 예집) | |
원저작자 | 스펜서 킴벌, 피터 매티스 |
---|---|
개발자 | GNOME 프로젝트, eXperimental Computing Facility(XCF) |
초기 릴리즈 | 1998년 4월 14일, | 전(
안정된 릴리스 | 4.6.6 / 2022년 7월 2일, 전( |
프리뷰 릴리즈 | 4.7.1 / 2022년 7월 13일; 전( |
저장소 | |
기입처 | C, CSS[1] |
운영 체제 | Linux, Unix형, macOS, Windows |
유형 | 위젯 툴킷 |
면허증. | LGPLv2.1+ |
웹 사이트 | gtk |
GTK(구 GIMP ToolKit 및 GTK+)[2]는 그래피컬 사용자 인터페이스(GUI)[3]를 작성하기 위한 무료 오픈 소스 크로스 플랫폼 위젯 툴킷입니다.GNU Lesser General Public License의 조건에 따라 라이선스가 부여되어 자유 소프트웨어 및 독점 소프트웨어 모두 사용할 수 있습니다.Wayland 및 X11 윈도우 시스템에서 [4]가장 인기 있는 툴킷 중 하나입니다.
GTK 팀은 정기적으로 [5]새로운 버전을 출시합니다.GTK 4 및 GTK 3은 유지되고 GTK 2는 [6]종료됩니다.
소프트웨어 아키텍처
GTK 라이브러리에는 일련의 그래픽 제어 요소(위젯)가 포함되어 있습니다.버전 3.22.16에는 186개의 활성 [7]위젯과 36개의 사용되지 않는 위젯이 포함되어 있습니다.GTK는 프로그래밍 언어 C로 작성된 객체 지향 위젯 툴킷으로 GLIB 객체 시스템인 GObject를 객체 방향으로 사용합니다.GTK는 주로 X11 및 Wayland 기반의 윈도 시스템용이지만 Microsoft Windows(Windows API와 인터페이스), macOS(Quartz와 인터페이스) 등 다른 플랫폼에서도 작동합니다.브로드웨이라는 이름의 HTML5 백엔드도 있다.[8][9]
그려진 위젯 모양을 변경하도록 GTK를 구성할 수 있습니다.이 작업은 다른 디스플레이 엔진을 사용하여 수행됩니다.사용 중인 플랫폼의 네이티브 위젯 모양을 에뮬레이트하는 디스플레이 엔진이 몇 개 있습니다.
2005년에 출시된 버전 2.8부터 GTK는 대부분의 그래픽 제어 요소 [10]위젯을 렌더링하기 위해 카이로를 사용하는 것으로 전환하기 시작했습니다.GTK 버전 3.0 이후 모든 렌더링은 [11]카이로를 사용하여 이루어집니다.
2018년 1월 26일, Matthias Clasen은 DevConf.cz에서 GTK 4 개발 현황에 대한 개요를 설명했으며, 여기에는 GTK 3에서 렌더링과 입력이 어떻게 작동하는지, GTK 4에서 어떤 변화가 이루어지고 있는지(> 3.90), 그 [12]이유 등이 포함되어 있습니다.2019년 2월 6일, GTK 4가 프로젝트 [2]이름에서 "+"를 삭제한다고 발표되었습니다.
GTK 도면 키트(GDK)
GDK는 기본 윈도우 및 그래픽 시스템에서 제공하는 하위 수준의 기능에 대한 래퍼 역할을 합니다.
GDK는/gdk
디렉토리로 이동합니다.
GTK 장면 그래프 키트(GSK)
GSK는 GTK의 렌더링 및 장면 그래프 API입니다.GSK는 그래픽 제어 요소(위젯)와 렌더링 사이에 있습니다.GSK는 마침내 2017년 3월에 출시된 GTK 버전 3.90으로 통합되었습니다.
GSK는 에 있습니다./gsk
디렉토리로 이동합니다.
Gtk인스펙터
GtkInspector는 버전 3.14에서 [13][14]도입되었습니다.GtkInspector는 개발 패키지 libgtk-3-dev/gtk+-devel을 설치한 후에만 호출할 수 있습니다.
GUI 설계자
GTK에는 몇 가지 GUI 설계자가 있습니다.2011년 7월 현재 다음 프로젝트가 진행 중입니다.
- Glade는 GTK 내장 GUI 설명 형식인 GtkBuilder를 지원합니다.
- Gazpacho, Python으로 작성된[15] GTK 툴킷용 GUI 빌더
- Crow Designer는 자체 GuiXml 형식과 GuiLoader [16]라이브러리를 사용합니다.
- Stetic은 Gtk#를 지향하는 MonoDevelope의 일부입니다.
- 버전 2.0 이후 BAS 상단의 GambasIC
- Linux에서의 Xojo
- Linux의 Lazarus는 디폴트로 GTK 2와의 인터페이스로 되어 있습니다.
GtkBuilder
GtkBuilder를 사용하면 코드를 작성하지 않고도 사용자 인터페이스를 설계할 수 있습니다.인터페이스는 Extensible Markup Language(XML; 확장 마크업 언어) 파일로 설명되며 이 파일은 실행 시 로드되며 오브젝트는 자동으로 생성됩니다.Glade Interface Designer를 사용하면 보이는 대로 사용자 인터페이스를 생성할 수 있습니다(WYSIWYG).사용자 인터페이스에 대한 설명은 사용되는 프로그래밍 언어와 독립적입니다.
언어 바인딩
언어 바인딩은 C++, Genie, JavaScript, Perl, Python, Vala [17]등 C 이외의 언어에서 GTK를 사용할 수 있습니다.
Gtk Sharp는 Gtk#과 혼동하지 않고 GTK 3을 지원합니다.
Gtk#
![]() | |
개발자 | 자마린 |
---|---|
초기 릴리즈 | 2004년 3월 12일, | 전(
안정된 릴리스 | 2.12.41[18] / 2016년 9월 , 전( |
프리뷰 릴리즈 | 2.99.3 (GTK3의 [18]경우) / 2014년 6월 6일, 전 ( |
저장소 | |
기입처 | C#, XML, Perl, C |
운영 체제 | Windows, macOS, Linux |
유형 | 위젯 툴킷 |
면허증. | GNU 약소 일반 공중 사용 허가서 |
웹 사이트 | mono-project |
Gtk#은 의 세트입니다.GTK 그래피컬 유저 인터페이스(GUI) 툴킷 및 각종 GNOME 라이브러리를 위한 NET 프레임워크 바인딩.라이브러리는 Mono 또는 기타 호환 CLR(Common Language Runtime)을 사용하여 그래픽 GNOME 응용 프로그램을 쉽게 구축할 수 있습니다.Gtk#은 현대의 다른 윈도 라이브러리와 마찬가지로 이벤트 구동형 시스템입니다.여기서 모든 위젯은 핸들러 메서드를 관련지을 수 있습니다.이 메서드는 특정 이벤트가 발생했을 때 호출됩니다.
Gtk#를 사용하여 구축된 애플리케이션은 Linux, Windows 및 MacOS를 포함한 많은 플랫폼에서 실행됩니다.Windows용 Mono 패키지에는 GTK, Gtk# 및 네이티브 테마가 포함되어 있어 어플리케이션이 네이티브 Windows 어플리케이션처럼 보입니다.Mono 1.9부터는 MacOS 상에서 Gtk# 어플리케이션을 실행하기 위해 X11 [19]서버를 실행할 필요가 없어졌습니다.
Glade Interface Designer는 GUI 응용 프로그램을 쉽게 설계하기 위해 Glade # 바인딩과 함께 사용할 수 있습니다.Stetic이라는 이름의 GUI 디자이너는 MonoDevelope 통합 개발 환경(IDE)에 통합되어 있습니다.
표준 개발 도구의 GTK/GNOME 스택을 지원할 뿐만 아니라gtk-dotnet.sembly 어셈블리는 에서 사용 가능한 기능을 소비하기 위한 브릿지를 제공합니다.NET 스택이 시점에서는 시스템을 사용하는 기능이 포함됩니다.위젯에 그릴 그리기.
2020년 9월[update] 현재 Gtk3에 대한 Gtk# 지원은 프리뷰 단계에 머물러 있으며 GtkSharp 등의 분기형 프로젝트는 C# 및 기타 CLI 언어에 대한 Gtk3의 완전한 지원을 제공하기 위해 설립되었습니다.Ubuntu 12.[20]04에서 Banshee 미디어 플레이어를 삭제한 이유로 Gtk3를 지원하는 Gtk#의 릴리스 버전이 부족하다는 점을 들었다.
발전
GTK는 주로 GNOME 개발 플랫폼과 GNOME 데스크톱 [21]환경을 개발하는 The GNOME Project에 의해 개발되었습니다.
GTK 개발은 느슨하게 관리된다.토론은 주로 몇 개의 공개 메일링 [22]리스트에서 이루어진다.GNOME 개발자와 사용자는 매년 열리는 GNOME 사용자 및 개발자 유럽회의 GUADEC 회의에 모여 GNOME의 현황과 향후 [23]방향에 대해 논의합니다.GNOME은 freedesktop.org의 표준 및 프로그램을 통합하여 다른 데스크톱과의 상호 운용성을 향상시킵니다.
GTK는 주로 [24]C로 쓴다.다양한 언어 바인딩을 사용할 수 있습니다.
비록 버전 3.24가을은 2018년에 GTK 4.[26]의 GTK 4의 개발 3.90, 한 학생 등일 때까지 버전 이름을 사용이 연착에 이어9월 1일 2016년에는 GTK 개발 블로그, 다른 것들 간에 표시된 게시판에, GTK.[25]GTK 버전 322, 가을이 2016년에 발매된의 향후numbering 계획 마지막3.x 방출되면 계획되었다.G1TK 4.0 안정판은 [27]2020년 12월에 출시되었습니다.첫 번째 안정적인 GTK 4 출시에도 불구하고 GTK를 사용하는 일부 애플리케이션은 여전히 GTK 2에 의존하고 있습니다. 예를 들어, 2022년 1월 현재 GIMP는 여전히 GTK [28]3에 포팅되어 있습니다.
자동화 구축
GTK(및 GNOME, GLib 등)는 이전에 선택한 빌드 자동화 시스템으로 GNU 빌드 시스템(Autotools)을 사용했습니다.
2017년 8월 14일부터 GTK의 마스터 브랜치는 Meson으로 구축되었으며 Autotools 빌드 시스템 파일은 폐기되었습니다.[29]
비판
GTK에 대한 가장 일반적인 비판은 주요 업데이트, 특히 Application Programming Interface(API;[30] 응용 프로그램프로그래밍 인터페이스) 및 [31]Theming에서 하위 호환성이 없다는 것입니다.
GTK 3.x 개발 사이클 중 마이너 릴리즈 간의 호환성 저하를 Benjamin Otte는 현대 사용자가 기대하는 기능을 제공하고 점점 더 영향력 있는 Wayland 디스플레이 서버 프로토콜을 지원하는 등 혁신에 대한 강한 압박이 원인이라고 설명했습니다.GTK 4의 발매에 의해, 이노베이션의 필요성에 의한 압력이 해소되어 안정성과 이노베이션의 밸런스가 [32]안정성으로 기울어진다.마찬가지로, 최근의 변경은 API의 일부를 개선하고 안정화시키기 위한 것으로, 현재 일부 투자는 나중에 보상되어야 한다는 것을 의미합니다.
- Subsurface의 코드 개발자이자 인텔 오픈 소스 테크놀로지 센터의 멤버인 Dirk Hohndel은 GTK 개발자들이 거칠고 대부분의 커뮤니티 요구를 [33]무시하고 있다고 비판했습니다.
- LXDE의 개발자 Hong Jen Yee는 GTK 툴킷의 API의 급격한 변경과 메모리 사용률 증대에 대해 경멸감을 표명하고 PCMan File Manager(PCManFM)를 Qt로 포팅했습니다.PCManFM은 GTK와 [34]Qt 백엔드를 동시에 사용하여 개발 중입니다.
- 대담한 음악 플레이어는 버전 3.[35]6에서 Qt로 이동했다.개발자가 밝힌 이유는 클라이언트 측 창문의 장식으로의 이행이 원인이 되어 어플리케이션이 "GNOMEy and out [36]place"라고 하는 것입니다.
- 와이어샤크는 GTK의 크로스 플랫폼 지원이 좋지 [37]않아 Qt로 전환했다.
사용하다


적용들
GTK를 위젯 툴킷으로 사용하는 주요 응용 프로그램에는 다음과 같은 것이 있습니다.
- Ardour, 디지털 오디오 워크스테이션(DAW)
- Bit Torrent 클라이언트인 Floodge
- 전자책 리더인 Folate
- GIMP, 래스터 그래픽 에디터
- GNOME Builder, 통합 개발 환경(IDE)
- GNOME 코어 어플리케이션: GNOME 데스크톱 환경의 표준 번들로서의 애플리케이션 집합
- GNOME Evolution, 개인정보 매니저
- HandBrake, 디지털 비디오 트랜스코더
- 벡터 그래픽 에디터인 Inkscape
- LibreOffice, 오피스 스위트
- 게임 매니저 루트리스
- 웹 브라우저 Mozilla Firefox
- Mozilla Thunderbird, 개인 정보 관리자
- 비디오 에디터 피티비
- PCSX-Reloaded, 비디오 게임 콘솔 에뮬레이터
- 리모트 데스크톱 클라이언트인 Remmina
- 전송, Bit Torrent
데스크톱 환경
일부 데스크톱 환경에서는 GTK를 위젯 툴킷으로 사용합니다.
- GTK에 기반한 GNOME, 즉 GNOME 네이티브 프로그램이 GTK를 사용하는 것을 의미합니다.
- Budgie, Solus를 위해 처음부터 지었습니다.OS 후계자 Solus 운영체제
- GTK 버전 3을 사용한 GNOME 3의 포크인 시나몬
- 버전 1.18 이후 GTK 3을 사용한 GNOME 2의 포크 MATE
- Xfce, 버전 4.14 이후 GTK 3 기반
- 판테온은 GTK 3만을 사용하여 기본 OS에서 개발
- Sugar는 GTK, 특히 PyGTK를 사용하는 청소년 초등교육용 데스크톱 환경입니다.
- Pure용으로 설계된 모바일 UI인 PhoshOS
- LXDE(Lightweight X11 Desktop Environment)는 GTK 2를 기반으로 합니다.
- 시스템76이 개발한 GNOME 포크 COSMIC
Inactive()
- Ubuntu의 이전 기본 데스크톱 환경인 Unity
- Linux 플랫폼 액세스 (Palm OS PDA 플랫폼의 후계자)
- 컨소시엄, GNOME 3.4 폴백 모드– Solus의 포크OS
- GPE, GPE 팜탑 환경
- RISC OS의 GUI 기능을 갖춘 경량 데스크톱 ROX Desktop
필요한 라이브러리가 설치되어 있는 경우 X11 및 Wayland 기반 데스크톱 환경 또는 GTK를 사용하지 않은 데스크톱 관리자에서도 GTK 프로그램을 실행할 수 있습니다.X11.app이 설치되어 있는 경우 macOS도 여기에 포함됩니다.GTK는 Pidgin이나 GIMP와 같은 일반적인 크로스 플랫폼애플리케이션에 의해 사용되는 Microsoft Windows에서도 실행할 수 있습니다.크로스 플랫폼 GUI 툴킷인 wxWidgets는 [38]기본적으로 Linux 상에서 GTK를 사용합니다.기타 포트에는 DirectFB(Debian instra에 의해 사용되는 등)와 [39]ncurses가 있습니다.
리 window
창를 사용합니다.GTK는 GTK입니다.
Source View Gtk 소스 »
구문 강조 표시에는 GtkSourceView, "소스 코드 편집 위젯"이 있습니다.GtkSourceView는 GTK와는 별도로 GNOME에 의해 라이브러리: gtksourceview로 유지됩니다.gsv로 이름을 변경할 계획이 있습니다.
GtkSpell
GtkSpell은 GTK와는 별개의 라이브러리입니다.GtkSpell은 GTK와 Enchant에 의존합니다.Enchant는 실제 맞춤법 검사 엔진/소프트웨어인 ispell, hunspell 등의 포장지입니다.GtkSpell은 GTK의 GtkTextView 위젯을 사용하여 철자가 틀린 단어를 강조 표시하고 대체 기능을 제공합니다.
»
다음의 URL 를 참조해 주세요.
다음 코드는 그래픽 GTK hello-world 프로그램을 C 프로그래밍 언어로 나타냅니다.이 프로그램에는 "Hello, world!"라는 제목의 창과 비슷한 텍스트의 라벨이 있습니다.
// hellowold.c #어느새 하다 <gtk/gtk>h> 때 입니다. activate_callback ) ★★ *에 접속. , (인테두리 user_data) GtkWidget * 디스플레이; GtkWidget * 표시; 창 을 만듭니다.*/ 디스플레이 = );( ); 을 */ gtk_timeout_set_titlegtk_timeout_set_module )GTK_WINDOW ) 디스플레이 안녕,상아! 크기 를 합니다.* )GTK_WINDOW ) 디스플레이 200 , 100 "label새 라벨에 합니다./* "label"은 GTK 라벨입니다. " world ", World!" 라는 텍스트와 함께 */ 、 구/// * / 표시 = gtk_label_new )안녕,상아! 라********** )GTK_WINDOW ) 디스플레이 표시 /* 응용 프로그램에 창을 인식시킵니다. 은 모두*까지됩니다. 창문이 닫힙니다. */ )GTK_APPLICATION GTK )에 접속. GTK_WINDOW ) 디스플레이 ) ; ) ; 창 / * * * * * * * * * * * * * * * * * * * * * * * * * * * * *// */ ) 디스플레이 } ) , *[] [ ] Application Gtk * 프로그램 = ewgtk_applicationn_new ) "parames.gtktest" , 0 를 "은 /* "Activate"라고 불립니다.콜백은 호출됩니다. 된 첫 시작 시 */ 응 * * * * * * * * * *예예예예예예예예 ( : 예예예 * * * * )*/ ) 프로그램 , , )activate_callback 한 절차 를 합니다.* / ) ) 프로그램 , }
Debian 또는 파생 모델에 라이브러리를 먼저 설치해야 합니다. $ sudo apt-get install libgtk-4-dev
UNIX 쉘에서 pkg-config를 사용하면 다음 명령을 사용하여 이 코드를 컴파일할 수 있습니다. $ cc -Wall $(pkg-config --cflags --libs gtk4) helloworld.c -o helloworld
$ ./helloworld
★★★
★★★★★
GTK는 원래, 그누 이미지 처리 프로그램의 동기 툴 키트를 대체한(김프)한 관점에서 피터 Mattis 동기에 환멸을 느끼게 되었습니다고 성공적으로 GIMP.[40]의 0.60 방출 마지막으로 GTKobject- 다시 씌여에 의해 동기를 대체했다는 김프 툴킷라 불리는 자신의 GUI툴킷을 쓰기 시작했다 설계되었다.orie이름을 GTK+[41]로 변경했습니다.이것은 GIMP의 0.99 릴리즈에서 처음 사용되었습니다.GTK는 GNOME 데스크톱 환경에서 사용하는 GNOME Foundation에 의해 유지보수를 위해 채택되었습니다.
GTK 2.0.0 릴리즈 시리즈에서는 새로운 테마 엔진인 Pango를 사용한 텍스트 렌더링 향상, Accessibility Toolkit을 사용한 접근성 향상, UTF-8 스트링을 사용한 Unicode로의 이행, 보다 유연한 API 등의 새로운 기능이 도입되었습니다.버전 2.8 이후 GTK 2는 벡터 그래픽을 렌더링하기 위해 카이로 그래픽 라이브러리에 의존합니다.
GTK 버전 3.0.0에는 입력 디바이스의 처리 수정, CSS와 같은 구문을 사용하여 작성된 테마 지원, 열려 있는 다른 GTK 애플리케이션에 대한 정보를 수신하는 기능이 포함되어 있습니다.
'+'는 2019년 2월 해커톤 [42]도중 간단히 'GTK'로 되돌아갔다.
Quartz-backend[43] GTK는 [44]macOS에서 사용할 수 있습니다.
★★★★★
- GTK 2.24.10 및 3.6.4 이후 Gnome에 의해 Windows with Installer 개발이 종료되었습니다.Windows 에 MSYS2 를 인스톨 하는 것은, 실제의 GTK [45]를 사용하는 좋은 방법입니다.
- GTK 2.24.10 및 3.6.4는 인터넷에서 사용할 수 있지만 버그가 심하고 실제 [46][47]버전에 비해 제한적입니다.
- Windows 64비트용 버전은 2021년 1월부터 제공되는 2.24.33(실제 Linux와 유사) 및 3.24.24([48]실제 Linux와 유사)와 함께 Tom Schoonjans에 의해 준비되었습니다.
- Windows 10의 Fall Creators Update에는 WSL(Windows Subsystem for Linux)이 포함되어 있습니다.Ubuntu나 Debian과 같은 Linux 디스트리뷰션과 Xming이나 VcXsvr과 같은 X서버를 사용하면 GTK 2 또는 3과 같은 수천 개의 프로그램을 X 또는 터미널 지원으로 실행할 수 있습니다.
(VMS)
HP는 필요한 OpenVMS 변경을 GTK Version 1.3 개발 [49]스트림에 통합하는 것이 목표라고 밝혔지만, 이는 실현되지 않았다.OpenVMS용 GTK의 최신 버전은 1.2.10입니다.[50]
GTK 4
4된 주요 중 을 GTK. GTK 4가 입니다.
- 에 의해 GtkWidget에 됩니다.
- 됩니다.
- 됩니다.
2018년 1월 26일 DevConf.cz에서 Matthias Clasen은 GTK 3에서 렌더링과 입력이 어떻게 작동했는지, GTK 4에 어떤 변화가 있었는지, 그리고 그 변경 이유를 개괄적으로 설명하는 등 당시 GTK 4 개발 현황에 대한 개요를 설명했습니다.GTK 4로 가능해진 사례도 [51]제시했습니다.
례:: ★★★ 버전, 보수 중, 이전 버전 version (영어) 프리뷰 ★★★ | |||||||
시리즈 " " " " | 릴리즈 " " " | 기능 | 버전 " " " " | ||||
---|---|---|---|---|---|---|---|
버전 더 이상 보수되지 않음 | 1998-04-13[52] | version 첫째 first first first first first | 1.0.6 | ||||
버전, 보수 1.2 | 1999-02-25[53] | 새 위젯:
| 1.2.10 | ||||
버전, 보수 2.0 | 2002-03-11[54] | GOBject GOB젝트 UTF-8의 전체적인 지원 | 2.0.9 | ||||
버전, 보수 2.2 | 2002-12-22[55] | 지원 ★★★★ | 2.2.4 | ||||
버전, 보수 2.4 | 2004-03-16[56] | 위젯: 새젯위::
| .4.14 | ||||
버전 더 이상 보수되지 않음: | 2004-12-16[57] | 위젯: 새젯위::
| 2.6.10 | ||||
버전, 보수 2.8 | 2005년[58] 8월 13일 | 대부분의 위젯은 카이로에서 렌더링합니다. | .8.20 | ||||
버전, 2.10 | 2006-07-03[59] | 위젯: 새젯위::
지원: 쇄 gt : GtkPrintOperation | 2.14 | ||||
버전, 보수 2.12 | 2007-09-14[60] | GtkBuilder | .12.12 | ||||
버전, 보수 2.14 | 2008-09-04[61] | JPEG 2000 로드 지원 | 2.14.7 | ||||
버전, 보수 2.16 | 2009-03-13[62] | 위젯 : 로 gt gt : GtkOrientable entry (패스워드 입력 시 캡스 잠금 ) GtkScale, GtkStatusIcon, GtkFileChooser의 | 2.16.6 | ||||
버전, 보수 2.18 | 2009-09-23[63] | 위젯 : 로 gt : GtkInfoBar 기능, 기능, 인쇄 기능, 파일 선택 기능 향상 X11 어플리케이션과 X11 서버 간에 필요한 IPC의 대부분을 제거하기 위해 GDK는 (주로 Alexander Larsson에 의해) "클라이언트 측 창"을 사용하도록 고쳐 씁니다.즉, 모든 위젯이 가지고 있어야 하는 Gdk Window가 클라이언트에 속하게 되었습니다. | 2.18.9 | ||||
버전, 보수 2.20 | 2010-03-23[64] | 위젯: 새젯위::
기능,처리 , GDK 기능 향상, GDK 기능 향상 되었습니다. | 2.20.1 | ||||
버전 더 이상 되지 않음: | 2010-09-23[65] | GdkPixbuf가 다른 모듈로 이동. 은 카이로 GDK를 . 현재 많은 내부 데이터는 비공개이며 GTK 3에 대비하여 밀봉할 수 있습니다. | 2.22.1 | ||||
버전, 보수 2.24 | 2011-01-30[66] | 위젯 : ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★텍스트 의는, PDF CUPS 할 수 . GtkBuilder에 되었습니다. | 2.24.32 (2018-01-08) | ||||
버전, 보수 3.0 | 2011년[67] 2월 10 | 툴킷의 GTK 3의 개발 및 설계는 2009년 2월 더블린에서[68] 열린 GTK Theming Hackfest에서 시작되었습니다.
대부분 프로젝트 Ridley 완료
렌더링은 카이로를 . GDK는 X11에 의존하지 않게 되었다 XInput2, 테마 API는 CSS(Cascading Style Sheets)를 기반으로 60Hz 프레임 레이트로 달성 가능한 퍼포먼스를 악화시킵니다. | 3.0.12 | ||||
버전, 보수 3.2 | 2011-09-25[71] | 위젯: 새젯위::
[ ]대화상자 백엔드: " " " " " 。
| 3.2.4 | ||||
버전, 보수 3.4 | 2012-03-26[72] | Application Gtk Application 지원 컬러 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★」 디바이스 되었습니다. 스크롤 Scrolled Window는 Gtk Scrolled Window를 합니다. 되었습니다. 에서 정상적으로 동작하는 의 첫 입니다. 버전 Wayland로 되었습니다. 이 새로운 모양을 . : 작성되었습니다. Support의 자세한 은 "theming" 입니다. | 3.4.4 | ||||
오래 된 버전, 더 이상 유지되:36. | 2012-09-24[73] | 위젯: 새젯위::
버튼 직직 vertical vertical vertical vertical vertical vertical vertical vertical vertical vertical 그림자 CSS, blur 지원 및 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」 | 3.6.5 | ||||
오래 된 버전, 더 이상 유지되:3.8. | 2013-03-25[74] | 1.0 지원 Wayland 1.0 지원 'broadwayd' 개선 ★★★ 나은 관리 개선 ★★★★★★ 프레임 동기화 프로토콜에 대한 창 관리자 지원 | 3.8.9 | ||||
버전, 3.10 | 2013-09-23[76] | 위젯: 새젯위::
1.2 Wayland 1.2
★★★★
★★★★★★★★
[ 의 GTK 설정 Tear-off ]그래서 GTK 설정 | 3.10.9 | ||||
버전, 보수 3.12 | 2014-03-25[77] | 클라이언트 측 장식[78] 1.5 Wayland 1.5 » 새 위젯:Gtk Popover(메뉴 및 대화상자 대체) | 3.12.2 | ||||
버전, 보수 3.14 | 2014-09-22[79] | GtkInspector(Gtkparasite 복사본)가 도입되었습니다[80][81]. 폐지:[84]
의 위젯이 를 사용하도록 되었습니다. Wayland는 GNOME 쉘 클래식[85] 모드 지원 | 3.14.14. | ||||
버전, 보수 3.16 | 2015-03-22[86] | GDK는 OpenGL for X11 및 Libepoxy를 사용한 Wayland를 사용한 렌더링 윈도우 지원 위젯: 새젯위::
| 3.16.7 | ||||
버전, 보수 3.18 | 2015-09-23[89] | CSS 추가 및 검색 향상 를 지원하는 Windows XP를 했습니다. 및 Kinetic Kinetic 터 kinetic kinetic kinetic kinetic kinetic kinetic kinetic kinetic kinetic kinetic 제스처 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★」 gtk-syslog-syslog " 창 " " " | 3.18.9 | ||||
버전, 보수 3.20 | 2016-03-21[90] | CSS 노드의[91] 추가 통합 새로운 위젯: GtkShortcuts Window (키보드 단축키 및 응용 프로그램 제스처 표시) | .20.10 | ||||
버전 더 이상 보수되지 않음: | 2016-09-21[92] | 최신 3.x[25] 릴리즈 | 3년 3.22.29 | ||||
보수 3.24 | 2018-09-03[97] | 33 3.22 GTK 3의 입니다.
범프– : " " " " ~ " :
폰트 " " " " " 。
기능 : 로운운 new new new new new :
API: gdk_window_move_to_rect FreeBayland에서: FreeB SD 이벤트컨트롤러 4: GTK 4:
4에서 몇합니다.GTK 4는 API를 폐지합니다.
| 3.23.0 3.23.1 .23.23.2 3.23.3 3.24.0 ... 3.24.5 .14 | ||||
버전, 보수 3.90 | 2017-03-31[98] | GSK(GTK Scene Graph Kit) 병합[5] 합니다. 디벨로프 ★★★★★★★★★★★★★★★★ 새로운 벌칸 렌더가 옛 카이로 렌더를[99] 늘린다. | 3.89.1 | ||||
버전 더 이상 되지 않음: 3.92 | 2017-10-18[100][101] | GNOME 3.26은 이미 2017년 [102]9월 13일에 출시되었기 때문에 GTK 3.92를 기반으로 하지 않았다. | 3.91.0 | ||||
버전, 보수 3.94 | 2018-06-26[103] | 3.93
Gdk Window에서 Gdk Surface로 이름 변경 그리기 가능한 콘텐츠의 새로운 추상화: GdkPaintable 다음과 같은 미디어를 표시할 수 있습니다.
| 3.93 3.94.0 | ||||
버전 더 이상 안 함: 3.96 | 2019-05-07[104] | gtk4-builder-toolsimplify 명령어는 GTK3 UI 파일을 GTK4로 변환하는 옵션을 얻었습니다.AMTK 메뉴에서는 툴바 또는 GtkShortcutsWindow와 같은 오브젝트가 프로그래밍 방식으로 작성됩니다(*.ui 파일이 아님).[105] GtkWidget은 GtkLayoutManager를 사용하여 크기를 할당할 수 있습니다.
포커스 처리가 변경되어 포커스 변경 이벤트 생성과 교차 이벤트가 통합되었습니다. 이벤트는 단순화되어 입력용으로만 사용됩니다.
| 3.96.0 | ||||
버전 더 이상 되지 않음: 3.98 | 2020년[104] 2월 10 | 3.98.5 | |||||
버전, 보수 3.99.0 | 2020-07-31[107] | 3.99.4 | |||||
버전, 보수 4.0 | 2020-12-16[109] | 4.0.2 | |||||
버전, 보수 4.2 | 2021-03-30[110] | ||||||
버전, 보수 4.4 | 2021-08-23[111] | ||||||
4.6 | 2021-12-30[112] |
「 」를 참조해 주세요.
- 클라이언트 측 장식
- 위젯 도구 키트 목록
- GDK – GIMP Drawing Kit는 xlib와 GTK 라이브러리 사이에 배치되어 그리기 프리미티브, 래스터 그래픽스(비트맵), 커서, 폰트, 윈도 이벤트 및 드래그 앤 드롭 기능 등의 기본적인 렌더링을 처리합니다.
- gtkmm – GTK용 C++ 바인딩
- QT – 플랫폼 프레임워크와 툴킷을 넘나드는
- Xojo – 크로스 플랫폼 개발 도구 및 프레임워크
- EFL(Inlightment Foundation Libraries) – Illightment 창 관리자용으로 작성된 위젯 툴킷
- FLTK – 경량 크로스 플랫폼 비네이티브 위젯 툴킷
- FOX 툴킷– 고속 오픈 소스 크로스 플랫폼 위젯 툴킷
- IUP – 네이티브 그래피컬 사용자 인터페이스를 구축하기 위한 멀티 플랫폼 툴킷
- Ultimate++
- Visual Component Library(VCL)
- Vala – C 코드를 생성하여 GObject 시스템을 사용하는 셀프호스팅 컴파일러를 갖춘 객체 지향 프로그래밍 언어입니다.
- wxWidgets - 가능한 한 각 플랫폼의 네이티브 그래픽 API를 직접 사용하는 것을 목적으로 하는 크로스 플랫폼 GUI 툴킷입니다.
레퍼런스
- ^ "The GTK Open Source Project on Open Hub: Languages Page". www.openhub.net.
- ^ a b Bassi, Emmanuele (6 February 2019). "Project rename to "GTK"". mail.gnome.org. GNOME mailinglist. Retrieved 7 February 2019.
- ^ The GTK+ Team. "GTK+ Features". Archived from the original on 25 May 2019. Retrieved 8 September 2014.
- ^ "Documentation". www.x.org.
- ^ a b "Projects/GTK/Roadmap - GNOME Wiki!". wiki.gnome.org.
- ^ "GTK 4.0 – GTK Development Blog". Retrieved 18 October 2021.
- ^ "GTK+ 3 Reference Manual". Retrieved 15 July 2017.
- ^ "Using GTK+ with Broadway". GNOME Developer. GNOME. Retrieved 6 March 2018.
- ^ "Broadway - GitHub symbiose/symbiose Wiki". GitHub. Retrieved 6 March 2018.
- ^ "GTK+ to Use Cairo Vector Engine". Retrieved 27 December 2009.
- ^ "Gtk: Migrating from GTK 2.x to GTK 3". docs.gtk.org. Retrieved 16 June 2022.
All drawing in GTK 3 is done via Cairo.
- ^ "Matthias Clasen DevConf.cz 2018 talk about GTK+ 4" (PDF). 26 January 2018.
- ^ "Introducing GtkInspector". 15 May 2014.
- ^ "Another GtkInspector update". 11 July 2014.
- ^ "Debian -- Package Search Results -- gazpacho". packages.debian.org.
- ^ "Nothing-personal - A development site for Crow Designer, GuiLoader and Rally - Google Project Hosting". Archived from the original on 24 January 2013. Retrieved 17 February 2014.
- ^ The GTK+ Team. "GTK+ Language Bindings". www.gtk.org. Archived from the original on 25 May 2019. Retrieved 3 June 2017.
- ^ a b "Gtk# is a Mono/.NET binding to the cross platform Gtk+ GUI toolkit and the foundation of most GUI apps built with Mono: mono/gtk-sharp". 16 November 2019 – via GitHub.
- ^ "Download Gtk#". The GTK+ Project.
- ^ "'Bansheegeddon' may see Banshee, Mono dropped from Ubuntu default". ITWorld. Retrieved 31 August 2015.
- ^ "GNOME Quick SWOT Analysis". The GNOME Project. Retrieved 18 March 2014.
- ^ "GTK+ and GNOME Mailing Lists". The GNOME Project. Retrieved 4 December 2011.
- ^ "About". GNOME Users And Developers European Conference (GUADEC). Archived from the original on 4 October 2011. Retrieved 3 December 2011.
- ^ "GNOME Languages". Ohloh. Black Duck Software. Retrieved 22 May 2014.
- ^ a b "Versioning and long term stability promise in GTK". GTK development blog. 1 September 2016.
- ^ "GTK+ 3.24 To Deliver Some New Features While Waiting For GTK4". www.phoronix.com.
- ^ "GTK 4.0". GTK development blog. 16 December 2020.
- ^ "Development release GIMP 2.99.2 is out". Gimp news. 6 November 2020.
- ^ "Build system change GTK's master branch". mail.gnome.org.
- ^ "How Does One Create A Gtk+ Application? – Morten Welinder". blogs.gnome.org. Retrieved 3 June 2017.
- ^ mclasen (20 November 2015). "A GTK+ update". Goings on.
- ^ a b "GUADEC2013: Benjamin Otte talks about GTK+". GUADEC.
- ^ Larabel, Michael (12 January 2014). "The Biggest Problem With GTK & What Qt Does Good". Phoronix. Retrieved 10 September 2014.
- ^ Hong Jen Yee (26 March 2013). "PCManFM Qt 0.1.0 released". Retrieved 10 September 2014.
- ^ "Audacious - An Advanced Audio Player". audacious-media-player.org.
- ^ Lindgren, John (6 May 2014). "Ugly window decorations and how to fix them (GTK 3.12)". Retrieved 21 October 2014.
- ^ Gerald Combs (15 October 2013). "We're switching to Qt". Retrieved 19 August 2015.
- ^ "GTK+". WxWidgets Compared To Other Toolkits.
- ^ "GTK+ TTY Port". Slashdot. Retrieved 31 August 2010.
- ^ "LinuxWorld - Where did Spencer Kimball and Peter Mattis go?". Archived from the original on 17 April 1999. Retrieved 19 August 2013.
{{cite web}}
: CS1 maint: bot: 원래 URL 상태를 알 수 없습니다(링크). - ^ "What is the + in GTK+?". 2011. Archived from the original on 26 March 2012. Retrieved 18 March 2014.
- ^ "Rename some references to GTK+ (d080be3e) · Commits · GNOME / gtk". gitlab.gnome.org.
- ^ "Projects/GTK/OSX - GNOME Wiki!". wiki.gnome.org.
- ^ "GTK Download: Mac OS X". www.gtk.org.
- ^ "GTK Download: Windows". www.gtk.org.
- ^ "GTK+ for Windows Runtime Environment". SourceForge.
- ^ "GTK+". www.tarnyko.net.
- ^ "GTK+ for Windows Runtime Environment Installer (fork from http://gtk-win.sourceforge.net): tschoonj/GTK-for-Windows-Runtime-Environment-Installer". 19 November 2020 – via GitHub.
- ^ http://h41379.www4.hpe.com/openvms/products/ips/gtk.html[베어 URL]
- ^ http://h41379.www4.hpe.com/openvms/products/ips/gtk_down.html[베어 URL]
- ^ https://mclasen.fedorapeople.org/gtk4-devconf2018.pdf[베어 URL PDF]
- ^ Amundson, Shawn T. (13 April 1998). "ANNOUNCE: GTK+ 1.0.0 Released!". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Amundson, Shawn T. (25 February 1999). "ANNOUNCE: GTK+ and GLib 1.2.0 Released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Taylor, Owen (11 March 2002). "GTK+-2.0.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Taylor, Owen (22 December 2002). "GTK+-2.2.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Taylor, Owen (16 March 2004). "GTK+-2.4.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (16 December 2004). "GTK+-2.6.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (13 August 2005). "GTK+ 2.8.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (3 July 2006). "GTK+ 2.10 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (14 September 2007). "GTK+ 2.12 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (4 September 2008). "GTK+ 2.14.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (13 March 2009). "GTK+ 2.16.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (23 September 2009). "GTK+ 2.18.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (23 March 2010). "GTK+ 2.20.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (23 September 2010). "GTK+ 2.22.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (20 January 2011). "GTK+ 2.24.0". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (10 February 2011). "GTK+ 3.0.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ "Gtk+ 3.0 Theming API Hackfest". Silicon Island. Retrieved 3 June 2017.
- ^ "Gtk+ 3 roadmap draft". Retrieved 3 June 2017.
- ^ "Attic/ProjectRidley - GNOME Wiki!". wiki.gnome.org.
- ^ Clasen, Matthias (25 September 2011). "GTK+ 3.2.0". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (26 March 2012). "GTK+ 3.4.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (24 September 2012). "GTK+ 3.6.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (25 March 2013). "GTK+ 3.8.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ "Frame clock: GDK 3 Reference Manual". developer.gnome.org.
- ^ Clasen, Matthias (23 September 2013). "GTK+ 3.10.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (25 March 2014). "GTK+ 3.12 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ "Client-side decorations in themes Goings on".
- ^ Clasen, Matthias (22 September 2014). "GTK+ 3.14.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Matthias Clasen (15 May 2014). "GtkInspector Author's blog entry". Retrieved 17 May 2014.
- ^ "GtkInspector in GNOME wiki". 15 May 2014. Retrieved 17 May 2014.
- ^ "Merging gestures into 3.14". 23 May 2014. Retrieved 23 May 2014.
- ^ "RFC: gestures". 4 March 2014. Retrieved 23 May 2014.
- ^ "gtk+ 3.13.2". 27 May 2014.
- ^ "gtk+ 3.13.3". 24 June 2014.
- ^ Clasen, Matthias (22 March 2015). "GTK+ 3.16.0 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ online, heise. "Linux-Desktop: Neues Gnome zeigt Nachrichten oben". heise online. Retrieved 3 June 2017.
- ^ "GTK+ 3.16.0 released". mail.gnome.org. Retrieved 3 June 2017.
- ^ Nestor, Marius (24 September 2015). "GTK+ 3.18.0 Officially Released as Part of the GNOME 3.18 Desktop Environment". Softpedia. Retrieved 25 May 2019.
- ^ Clasen, Matthias (21 March 2016). "GTK+ 3.20". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ "GTK+ 3.20 – Style Classes and Element Names". 20 November 2015.
- ^ Clasen, Matthias (21 September 2016). "GTK+ 3.22 released". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ "GTK+ Wayland tablet support is merged – Carlos Garnacho".
- ^ "hutterer input". www.x.org.
- ^ a b "Gtk 4.0 will not be stable until Gtk 4.6". 13 June 2016.
- ^ a b "Gtk 5.0 will not be stable until Gtk 5.6". 14 June 2016.
- ^ Clasen, Matthias (3 September 2018). "gtk+ 3.24.0". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (31 March 2017). "gtk+ 3.90.0". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ "Commits · master · GNOME / gtk". GitLab.
- ^ Clasen, Matthias (18 October 2017). "gtk+ 3.92.1". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ Clasen, Matthias (23 October 2017). "GTK+ 3.92". GTK Development Blog. Retrieved 25 May 2019.
- ^ "GNOME 3.26 Released". 13 September 2017.
- ^ Clasen, Matthias (26 June 2018). "gtk+ 3.94.0". GNOME Mail Services (Mailing list). Retrieved 20 May 2019.
- ^ a b Clasen, Matthias (7 May 2019). "gtk 3.96". GNOME Mail Services (Mailing list). Retrieved 28 May 2019.
- ^ "Introducing amtk".
- ^ Clasen, Matthias (13 February 2020). "GTK 3.98". GTK+ Development Blog. Retrieved 18 February 2020.
- ^ a b Clasen, Matthias (9 June 2021). "gtk 4.3.1". FTP Releases (Mailing list). Retrieved 10 July 2021.
- ^ "Emmanuele Bassi / guadec-2020". GitLab.
- ^ Clasen, Matthias (16 December 2020). "gtk 4.0.0". GNOME Mail Services (Mailing list). Retrieved 16 December 2020.
- ^ Clasen, Matthias (30 March 2021). "gtk 4.2.0". GNOME Mail Services (Mailing list). Retrieved 30 March 2021.
- ^ Clasen, Matthias (23 August 2021). "gtk 4.4.0". GNOME Mail Services (Mailing list). Retrieved 23 January 2022.
- ^ Clasen, Matthias (30 December 2021). "gtk 4.6.0". FTP Releases (Mailing list). Retrieved 23 January 2022.
참고 문헌
- Krause, Andrew (23 April 2007), Foundations of GTK+ Development (1st ed.), Apress, ISBN 978-1-59059-793-4
- Wright, Peter (15 May 2000), Beginning GTK+ and GNOME (1st ed.), Peer Information, ISBN 978-1-86100-381-2
- Logan, Syd (6 September 2001), Gtk+ Programming in C (1st ed.), Prentice Hall, ISBN 978-0-13-014264-1
외부 링크
