Tk (software) - Tk (software)
Tk 8.6.6 ve Windows 10 | |
Původní autoři | John Ousterhout |
---|---|
Vývojáři | Tcl Core Team[1] |
První vydání | 1991 |
Stabilní uvolnění | 8.6.10 / 11. března 2020 |
Náhled verze | 9.0a1 / 26 listopadu 2019 |
Úložiště | |
Napsáno | C |
Operační systém | Cross-platform |
Plošina | Cross-platform |
Typ | Sada widgetů |
Licence | BSD -styl[2] |
webová stránka | www |
Tk je zdarma a open-source, napříč platformami sada nástrojů widget , která poskytuje knihovnu základních prvků Widgety GUI pro stavbu a grafické uživatelské prostředí (GUI) v mnoha programovacích jazycích.
Tk poskytuje řadu widgetů běžně potřebných pro vývoj desktopových aplikací, jako je tlačítko, nabídka, plátno, text, rámeček, štítek atd. Tk byl portován, aby fungoval na většině příchutí Linux, Operační Systém Mac, Unix, a Microsoft Windows. Jako Tcl, Tk podporuje Unicode v rámci Základní vícejazyčné letadlo ale dosud nebyl rozšířen, aby zvládl aktuální rozšířený plný Unicode (např. UTF-16 z UCS-2, který Tk podporuje).
Tk byl navržen tak, aby byl rozšířen a je k dispozici široká škála rozšíření, která nabízejí nové widgety nebo jiné funkce.[3][4]
Od verze Tcl / Tk 8 nabízí „nativní vzhled a chování“ (například nabídky a tlačítka se zobrazují způsobem „nativního“ softwaru pro danou platformu).[5] Mezi hlavní vlastnosti verze 8.5 patří nový tematický modul, původně nazvaný Tk Tile,[6] ale nyní se obecně označuje jako „tematický Tk“, stejně jako vylepšené vykreslování písma.[7] Mezi hlavní vlastnosti verze 8.6 patří PNG podpora a šikmý text.[8]
Dějiny
Tk vyvinula John Ousterhout jako rozšíření pro Tcl skriptovací jazyk. Poprvé byl veřejně vydán v roce 1991.[9] Tk správa verzí bylo provedeno odděleně od Tcl až do verze 8.0.
Tk byl původně napsán pro Unix / X11 a v 90. letech se u programátorů ukázal jako velmi oblíbený, protože se snadněji naučil a používal než Motiv a další sady nástrojů X11 té doby.[10] Tk byl také portován na platformy Microsoft Windows a Macintosh, počínaje Tk 4.2 a vylepšený nativním vzhledem a dojmem v Tk 8.0 (vydáno 1997). K označení popularity a významu Tk v 90. letech byl Ousterhout udělen Cena softwarového systému ACM v roce 1997 pro Tcl / Tk:[11]
Zájem o Tk od konce 90. let a dále výrazně poklesl. Výchozí vzhled a chování systému Unix se stále emulovalo Motiv, navzdory tradičnímu nahrazování Motif sadami nástrojů, jako je FLTK, Qt a GTK.[12] Widgety, které se běžně používají v aplikacích (např. Stromy, pole se seznamem, notebooky s kartami), nebyly k dispozici v jádru Tk, ale pouze prostřednictvím několika, často konkurenčních doplňků.[13]
Tk 8.5, vydaný na konci roku 2007, opravil některé z těchto problémů přidáním chybějících widgetů do jádra, zavedením nového tematického enginu a modernizací vzhledu a stylu v Unixu.[7]Protože však k začlenění těchto vylepšení bylo zapotřebí některých změn kódu, mnoho stávajících aplikací si zachovává starší motiv inspirovaný Motifem, pro který se Tk stala známou.[14]
Architektura
Tk je GUI nezávislé na platformě rámec vyvinutý pro Tcl. Z Tcl shellu (tclsh) lze Tk vyvolat pomocí příkazu balíček vyžaduje Tk
. Program přát si (WIndowing SHell) poskytuje způsob, jak vyvolat shell tclsh v grafickém okně a také poskytnout Tk.[15]
Tk má následující vlastnosti:
- Nezávislé na platformě: Stejně jako Tcl, i Tk je interpretován. Byl přenesen na více platforem a na všech z nich lze snadno pracovat bez úprav.[16]
- Přizpůsobitelné: Téměř všechny funkce widgetu v Tk lze přizpůsobit pomocí voleb během vytváření widgetu nebo později pomocí příkazu configure.[17]
- Konfigurovatelný: Mnoho z možností může být uloženo v databázi voleb, takže je velmi snadné parametrizovat vzhled aplikace (například barevné schéma). To také znamená, že ukládání možností specifických pro aplikaci je pouze otázkou uložení příkazů pro přidání možností a jejich provedení při načtení aplikace.[18]
Jazykové vazby
Knihovna napsaná v jednom programovacím jazyce může být použita v jiném jazyce, pokud vazby jsou psány; Tk je integrován do jazyka Tcl. Různé jiné jazyky mají vazby pro Tk, jejichž částečný seznam je na webu Tk.[19] Vazby existují pro další jazyky, které nemusí být uvedeny, včetně Ada (nazývané TASH),[20] Haskell (nazývané HTk),[21] Perl, Krajta (volala Tkinter ), Rubín, Rexx, a Společný Lisp.
Existuje několik způsobů, jak použít Tk z Perl: moduly Tcl :: Tk a Tkx Perl,[22] oba používají Tcl jako most pro přístup k Tk a Perl / Tk,[23] který poskytuje nativní Perl přístup ke strukturám Tk. The Krajta vazba používá Tcl jako most k Tk.[24]
Funkce
Tk poskytuje různé widgety.[25] Základní widgety jsou vloženy do toplevel
widgety, které jsou zase obvykle hostovány operačním systémem v plovoucích oknech, která lze přesouvat po obrazovce.[26]
Základní widgety
knoflík
plátno
zaškrtávací tlačítko
kombobox
vstup
rám
označení
labelframe
seznam
Jídelní lístek
tlačítko nabídky
zpráva
notebook
zasklené okno
ukazatel průběhu
rádiové tlačítko
měřítko
Posuvník
oddělovač
velikost gripu
spinbox
text
tk_optionMenu
treeview
Widgety nejvyšší úrovně
tk_chooseColor
- objeví se a dialogové okno aby uživatel vybral barvu.tk_chooseDirectory
- objeví se dialogové okno pro výběr adresáře.tk_dialog
- vytvoří modální dialog a čeká na odpověď.tk_getOpenFile
- vyskočí dialogové okno pro výběr souboru, který má uživatel otevřít.tk_getSaveFile
- zobrazí se dialogové okno, ve kterém může uživatel vybrat soubor k uložení.tk_messageBox
- vyskočí okno se zprávou a čeká na odpověď uživatele.tk_popup
- zveřejní rozbalovací nabídku.toplevel
- vytváří a manipuluje s toplevel widgety.
Manažeři geometrie
Základní widgety jsou uspořádány v toplevel
okna používající správce geometrie:[27]
místo
- umisťuje widgety na absolutní umístěnímřížka
- uspořádá widgety do mřížkybalíček
- zabalí widgety do dutiny
Viz také
- Seznam sad nástrojů pro widgety
- přání (Windowing Shell)
- Očekávat
- Tkinter - vazba Tk pro Python
- Itk
- Kategorie: Software, který používá Tk
Reference
- ^ „Tcl / Tk Core Development“. Tcl Developer Xchange. Citováno 1. listopadu 2016.
- ^ „Licenční podmínky Tcl / Tk“. Tcl Developer Xchange. Citováno 4. listopadu 2016.
- ^ Psaní widgetu Tk v jazyce C., Kapitola 46 v Praktické programování v Tcl a Tk, ISBN 0-13-038560-3
- ^ "Rozšíření pro Tcl a Tk". Tclerova Wiki. Citováno 1. listopadu 2016.
- ^ „Tcl / Tk 8,0“. Tcl Developer Xchange. 18. září 2013. Citováno 1. července 2014.
- ^ "Tile: vylepšený engine pro tvorbu témat pro Tk". SourceForge. Citováno 4. listopadu 2016.
- ^ A b „Oznámení o vydání Tcl / Tk 8.5“. Tcl Developer Xchange. 18. září 2013. Citováno 1. července 2014.
- ^ „Oznámení o vydání Tcl / Tk 8.6“. Tcl Developer Xchange. 20. září 2013. Citováno 1. července 2014.
- ^ Ousterhout, Johne. "Historie Tcl". Exchange pro vývojáře Tcl. Citováno 1. dubna 2010.
- ^ „Tk Backgrounder“. TkDocs. Citováno 4. listopadu 2016.
- ^ „John K Ousterhout - vítěz ceny“. Ocenění ACM. Citováno 4. listopadu 2016.
- ^ „TIP # 48: Tk Widget Styling Support“. Tcl Developer Xchange. Citováno 1. listopadu 2016.
- ^ "treeview". Tclerova Wiki. Citováno 1. listopadu 2016.
- ^ „TIP # 319: Implementace zpětné kompatibility pro tematické widgety ttk v widgetech tk“. Tcl Developer Xchange. Citováno 1. listopadu 2016.
- ^ "manuální stránka přání - Tk Applications". Tcl Developer Xchange. Citováno 1. listopadu 2016.
- ^ „How to Compile Tcl“. Tcl Developer Xchange. Citováno 1. listopadu 2016.
- ^ "ruční stránka ttk :: widgetu - Tk Themed Widget". Tcl Developer Xchange. Citováno 1. listopadu 2016.
- ^ "volitelná manuální stránka - Předdefinované příkazy". Tcl Developer Xchange. Citováno 1. listopadu 2016.
- ^ „Jazyky s vazbou Tk“. Tclerova Wiki. Citováno 1. července 2014.
- ^ „TASH“. SourceForge. Citováno 1. července 2014.
- ^ „HTk home“. Informatik - FB3 - Uni Bremen. Citováno 4. listopadu 2016.
- ^ "Tkx :: Výukový program - Jak používat Tkx". Dokumenty ActiveState. Citováno 1. listopadu 2016.
- ^ Koncepty Perl / Tk, Kapitola 1 v Mastering Perl / Tk, ISBN 978-1565927162
- ^ Tkinter, Kapitola 2.4 v Moderní Tkinter pro zaneprázdněné vývojáře Pythonu, JAKO V B0071QDNLO
- ^ „Tk Commands, verze 8.6.6“. Tcl Developer Xchange. Citováno 1. listopadu 2016.
- ^ Widgety “, kapitola 17.2 v Tcl a Tk Toolkit , ISBN 978-0321336330
- ^ Manažeři geometrie, kapitola 17.6 v Tcl a Tk Toolkit , ISBN 978-0321336330
Další čtení
- Ousterhout, John K.; Jones, Ken (2009). Tcl a Tk Toolkit (2. vyd.). Addison Wesley. ISBN 978-0-321-33633-0. Citováno 4. listopadu 2012.
- Foster-Johnson, Eric (1997). Grafické aplikace s Tcl & Tk (2. vyd.). New York, NY: M&T Books. ISBN 1-55851-569-0. Citováno 4. listopadu 2012.
- Brent B. Welch, Praktické programování v Tcl a Tk, Prentice Hall, Upper Saddle River, NJ, USA, ISBN 0-13-038560-3, 2003
- J. Adrian Zimmer, Tcl / Tk pro programátory, IEEE Computer Society, distribuovaný Johnem Wiley and Sons, ISBN 0-8186-8515-8, 1998
- Mark Harrison a Michael McLennan, Efektivní programování Tcl / Tk, Addison-Wesley, Reading, MA, USA, ISBN 0-201-63474-0, 1998
- Bert Wheeler, Programovací kuchařka Tcl / Tk 8.5, Packt Publishing, Birmingham, Anglie, Velká Británie, ISBN 1849512981, 2011
- Clif Flynt Tcl / Tk, třetí vydání: Příručka pro vývojáře, ISBN 0123847176, 2012
externí odkazy
- Oficiální webové stránky
- Tclerova Wiki
- Tk 8.6 Ruční
- Tk dokumenty: moderní výukový program Tk pro Tcl, Ruby, Perl a Python
- Tcl-Tk na Curlie
- Jazyky s vazbou Tk