Tk(소프트웨어)
Tk (software)![]() | |
![]() Windows 10의 Tk 8.6.6 | |
원저작자 | 존 오스터허우트 |
---|---|
개발자 | TCL 코어[1] 팀 |
초기 릴리즈 | 전( |
안정된 릴리스 | |
저장소 | |
기입처 | C |
운영 체제 | 크로스 플랫폼 |
플랫폼 | 크로스 플랫폼 |
유형 | 위젯 툴킷 |
면허증. | BSD 스타일의[4] |
웹 사이트 | www |
Tk는 무료 오픈 소스 크로스 플랫폼 위젯 툴킷으로, 많은 프로그래밍 언어로 그래픽 사용자 인터페이스(GUI)를 구축하기 위한 GUI 위젯의 기본 요소 라이브러리를 제공합니다.
TK는 버튼, 메뉴, 캔버스, 텍스트, 프레임, 라벨 등 데스크톱 애플리케이션 개발에 일반적으로 필요한 위젯을 제공합니다.Tk는 대부분의 Linux, Mac OS, Unix 및 Microsoft Windows 버전에서 실행되도록 포팅되어 있습니다.Tcl과 마찬가지로 Tk는 기본 다국어 플레인 내에서 Unicode를 지원하지만 현재 확장되어 있는 전체 Unicode(예를 들어 Tk가 지원하는 UCS-2의 UTF-16)를 처리하도록 아직 확장되지 않았습니다.
TK는 확장되도록 설계되었으며 새로운 위젯 및 기타 [5][6]기능을 제공하는 다양한 확장 기능을 사용할 수 있습니다.
Tcl/Tk 8부터는 "네이티브 룩 앤 필"을 제공합니다(예를 들어 메뉴와 버튼은 특정 플랫폼에 [7]대해 "네이티브" 소프트웨어 방식으로 표시됩니다).버전 8.5의 하이라이트는 원래 Tk [8]Tile이라고 불리던 새로운 테마 엔진이 포함되어 있지만, 현재는 폰트 [9]렌더링이 개선되었을 뿐만 아니라 일반적으로 "테마 Tk"라고 불립니다.버전 8.6의 주요 특징은 PNG 지원 및 각진 [10]텍스트입니다.
역사
Tk는 존 오스터하우트에 의해 Tcl 스크립트 언어의 확장으로 개발되었습니다.그것은 [11]1991년에 처음으로 공개되었다.Tk 버전 관리는 버전 8.0까지 TCL과 별도로 수행되었습니다.
Tk는 원래 Unix/X11용으로 작성되었으며,[12] Motif 및 기타 X11 툴킷보다 배우고 사용하기 쉽기 때문에 1990년대에 프로그래머들에게 큰 인기를 끌었다.Tk는 Tk 4.2 이후 Microsoft Windows 및 Macintosh 플랫폼에도 이식되어 Tk 8.0(1997년 출시)에서 네이티브한 외관과 느낌으로 개선되었습니다.1990년대 Tk의 인기와 중요성을 기념하여 Ousterhout은 1997년 Tcl/Tk로 [13]ACM Software System Award를 수상하였습니다.
개발자가 기존 컴포넌트에서 복잡한 시스템을 작성할 수 있도록 하는 TCL 스크립트 언어.임베디드 Tk는 그래픽 사용자 인터페이스를 작성하기 위한 간단한 메커니즘을 제공합니다.이 두 가지가 결합되어 소프트웨어 레퍼토리에 강력한 추가가 됩니다.
Tk에 대한 관심은 1990년대 후반 이후 크게 시들해졌다.FLTK, Qt, GTK [14]등의 툴킷이 Motif를 대체하고 있음에도 불구하고 Unix의 디폴트 룩앤필은 여전히 Motif를 모방하고 있습니다.응용 프로그램(트리, 콤보 박스, 탭 노트북 등)에서 일반적으로 사용되는 위젯은 Tk 코어에서는 사용할 수 없으며, 여러 개의 [15]경쟁 애드온에서만 사용할 수 있습니다.
2007년 후반에 출시된 Tk 8.5에서는 코어에 누락된 위젯을 추가하고 새로운 테마 엔진을 도입하여 Unix의 [9]외관과 느낌을 현대화함으로써 이러한 문제의 일부를 수정했습니다.그러나 이러한 발전을 통합하기 위해 일부 코드 변경이 필요했기 때문에, 많은 기존 애플리케이션은 Tk가 [16]유명해진 오래된 모티브에서 영감을 받은 느낌을 그대로 유지하고 있습니다.
아키텍처
Tk는 Tcl용으로 개발된 플랫폼에 의존하지 않는 GUI 프레임워크입니다.TCL 쉘(tclsh)에서 Tk는 다음 명령을 사용하여 호출할 수 있습니다.package require Tk
프로그램 위시(WINDowing Shell)는 Tk를 [17]제공할 뿐만 아니라 그래픽 창에서 tclsh 셸을 실행하는 방법을 제공합니다.
Tk에는 다음 특성이 있습니다.
- 플랫폼에 의존하지 않는 경우: Tcl과 마찬가지로 Tk가 해석됩니다.여러 플랫폼으로 포팅되어 있으며 [18]변경 없이 모든 플랫폼에서 쉽게 실행할 수 있습니다.
- 커스터마이즈 가능:Tk에 있는 위젯의 거의 모든 기능은 위젯 작성 시 옵션을 통해 커스터마이즈하거나 나중에 구성 [19]명령을 통해 커스터마이즈할 수 있습니다.
- 설정 가능:많은 옵션을 옵션 데이터베이스에 저장할 수 있으므로 응용프로그램(예: 색 구성표)의 모양을 매우 쉽게 매개변수로 지정할 수 있습니다.이는 애플리케이션 고유의 옵션을 저장하는 것이 [20]option add 명령어를 저장하고 응용 프로그램을 로드할 때 실행하기만 하면 된다는 것을 의미합니다.
언어 바인딩
바인딩이 작성될 경우 한 프로그래밍 언어로 작성된 라이브러리를 다른 언어로 사용할 수 있습니다.Tk는 Tcl 언어와 통합되어 있습니다.그 외의 다양한 언어에는 Tk의 바인딩이 있으며, 이 바인딩의 일부는 [21]Tk 웹사이트에 게재되어 있습니다.바인딩은 Ada([22]TAH라고 함), Haskell([23]HTK라고 함), Perl, Python(Tkinter라고 함), Ruby, Rexx 및 Common Lisp 등 목록에 없는 추가 언어에 대해 존재합니다.
Perl에서 Tk를 사용하는 방법에는 Tcl이 있습니다.: Tk 및 Tkx Perl 모듈([24]두 모듈 모두 Tk에 액세스하기 위한 브리지로서 Tcl을 사용하고 Tk 구조에 대한 네이티브 Perl 액세스를 제공하는 Perl/Tk).[25]Python 바인딩은 Tk에 [26]대한 브리지로서 Tcl을 사용합니다.
특징들
TK는 다양한 [27]위젯을 제공합니다.기본 위젯이 내장되어 있습니다.toplevel
위젯은 일반적으로 운영체제에 의해 [28]화면상에서 이동할 수 있는 부동창에서 호스팅됩니다.
기본 위젯
button
canvas
checkbutton
combobox
entry
frame
label
labelframe
listbox
menu
menubutton
message
notebook
panedwindow
progressbar
radiobutton
scale
scrollbar
separator
sizegrip
spinbox
text
tk_optionMenu
treeview
최상위 위젯
tk_chooseColor
– 사용자가 색상을 선택할 수 있는 대화 상자가 나타납니다.tk_chooseDirectory
– 사용자가 디렉토리를 선택할 수 있는 대화 상자가 나타납니다.tk_dialog
– 모달 대화상자를 만들고 응답을 기다립니다.tk_getOpenFile
– 사용자가 열 파일을 선택할 수 있는 대화 상자가 나타납니다.tk_getSaveFile
– 사용자가 저장할 파일을 선택할 수 있는 대화 상자가 나타납니다.tk_messageBox
– 메시지 창을 띄우고 사용자 응답을 기다립니다.tk_popup
– 팝업 메뉴를 게시합니다.toplevel
– 최상위 위젯을 작성하고 조작합니다.
지오메트리 매니저
기본 위젯은 다음 위치에 배열되어 있습니다.toplevel
지오메트리 [29]관리자를 사용한 창:
place
– 위젯을 절대 위치에 배치grid
– 위젯을 그리드에 배치pack
– 위젯을 캐비티에 넣습니다.
「 」를 참조해 주세요.
- 위젯 도구 키트 목록
- wish(윈도 셸)
- 기대하다
- Tkinter – Python용 Tk 바인딩
- 이츠
- 카테고리:Tk를 사용하는 소프트웨어(소프트웨어)
레퍼런스
- ^ "Tcl/Tk Core Development". Tcl Developer Xchange. Retrieved 1 November 2016.
- ^ https://www.tcl.tk/software/tcltk/8.6.html 를 참조해 주세요.
- ^ "Tcl / Tk 8.6.12 RELEASED". 5 November 2021.
- ^ "Tcl/Tk Licensing Terms". Tcl Developer Xchange. Retrieved 4 November 2016.
- ^ C의 Tk 위젯 작성, Tcl 및 Tk의 실용 프로그래밍 46장, ISBN 0-13-038560-3
- ^ "Extensions for Tcl and Tk". Tcler's Wiki. Retrieved 1 November 2016.
- ^ "Tcl/Tk 8.0". Tcl Developer Xchange. 18 September 2013. Retrieved 1 July 2014.
- ^ "Tile: an improved themeing engine for Tk". SourceForge. Retrieved 4 November 2016.
- ^ a b "Tcl/Tk 8.5 Release Announcement". Tcl Developer Xchange. 18 September 2013. Retrieved 1 July 2014.
- ^ "Tcl/Tk 8.6 Release Announcement". Tcl Developer Xchange. 20 September 2013. Retrieved 1 July 2014.
- ^ Ousterhout, John. "History of Tcl". Tcl Developer Exchange. Retrieved 1 April 2010.
- ^ "Tk Backgrounder". TkDocs. Retrieved 4 November 2016.
- ^ "John K Ousterhout - Award Winner". ACM Awards. Retrieved 4 November 2016.
- ^ "TIP #48: Tk Widget Styling Support". Tcl Developer Xchange. Retrieved 1 November 2016.
- ^ "treeview". Tcler's Wiki. Retrieved 1 November 2016.
- ^ "TIP #319: Implement Backwards Compatibility for ttk Themed Widgets in tk Widgets". Tcl Developer Xchange. Retrieved 1 November 2016.
- ^ "wish manual page - Tk Applications". Tcl Developer Xchange. Retrieved 1 November 2016.
- ^ "How to Compile Tcl". Tcl Developer Xchange. Retrieved 1 November 2016.
- ^ "ttk::widget manual page - Tk Themed Widget". Tcl Developer Xchange. Retrieved 1 November 2016.
- ^ "option manual page - Built-In Commands". Tcl Developer Xchange. Retrieved 1 November 2016.
- ^ "Languages with a Tk binding". Tcler's Wiki. Retrieved 1 July 2014.
- ^ "TASH". SourceForge. Retrieved 1 July 2014.
- ^ "HTk home". Informatik - FB3 - Uni Bremen. Retrieved 4 November 2016.
- ^ "Tkx::Tutorial - How to use Tkx". ActiveState Docs. Retrieved 1 November 2016.
- ^ Perl/Tk 개념, Perl/Tk 마스터링 1장, ISBN 978-1565927162
- ^ Tkinter, 바쁜 Python 개발자를 위한 현대 Tkinter 2.4장, ASIN B0071QDNLO
- ^ "Tk Commands, version 8.6.6". Tcl Developer Xchange. Retrieved 1 November 2016.
- ^ Widgets', Tcl 및 Tk Toolkit, ISBN 978-0321336330의 17.2장
- ^ ISBN 978-0321336330, Tcl 및 Tk Toolkit 17.6장
추가 정보
- Ousterhout, John K.; Jones, Ken (2009). Tcl and the Tk Toolkit (2nd ed.). Addison Wesley. ISBN 978-0-321-33633-0. Retrieved 4 November 2012.
- Foster-Johnson, Eric (1997). Graphical Applications with Tcl & Tk (2nd ed.). New York, N.Y.: M&T Books. ISBN 1-55851-569-0. Retrieved 4 November 2012.
- 브렌트 BWelch, Tcl 및 Tk 실용 프로그래밍, 프렌티스 홀, 어퍼 새들 리버, 미국, ISBN 0-13-038560-3, 2003
- J Adrian Zimmer, Tcl/Tk for Programmers, IEEE Computer Society, John Wiley and Sons 배포, ISBN 0-8186-8515-8, 1998
- Mark Harrison and Michael McLennan, Effective Tcl/Tk 프로그래밍, Addison-Wesley, Reading, MA, USA, ISBN 0-201-63474-0, 1998
- Bert Wheeler, Tcl/Tk 8.5 Programming Cookbook, Packt Publishing, 영국 버밍엄, ISBN 1849512981, 2011
- Clif Flynt Tcl/Tk, 제3판: 개발자 가이드, ISBN 0123847176, 2012
외부 링크
![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/df/Wikibooks-logo-en-noslogan.svg/40px-Wikibooks-logo-en-noslogan.svg.png)
- 공식 웹사이트
- Tcler's Wiki
- Tk 8.6 매뉴얼
- Tk 문서: Tcl, Ruby, Perl 및 Python용 최신 Tk 튜토리얼
- 컬리의 Tcl-Tk
- Tk 바인딩이 있는 언어