Přeskočit na obsah

Tk (framework): Porovnání verzí

Z Wikipedie, otevřené encyklopedie
Smazaný obsah Přidaný obsah
Vytvoření stránky překladem z angličtiny
(Žádný rozdíl)

Verze z 29. 10. 2014, 00:08

Další významy jsou uvedeny na stránce TK.
Tk
VývojářJohn Ousterhout
První vydání1991
Aktuální verze8.6.2 (27. srpna 2014)
Operační systémmultiplatformní
Platformamultiplatformní
Vyvíjeno vC
Typ softwaruWidget toolkit
LicenceBSD-style
Webwww.tcl.tk
Některá data mohou pocházet z datové položky.

Tk je svobodný multiplatformní widget toolkit s otevřenými zdrojovými kódy poskytující knihovnu základních ovládacích prvků pro tvorbu grafického uživatelského rozhraní (GUI) v různých programovacích jazycích.

Tk poskytuje množství ovládacích prvků potřebných k vytváření grafických aplikací jako například button, menu, canvas, text, rám, label, atd. Tk bylo portováno na většinu odrůd Linuxu, Mac OSu, Unixu a Microsoft Windows. Od verze Tcl/Tk 8 poskytuje „nativní look a feel“ (například menu a tlačítka jsou zobrazovány stejně jako u programů vyvinutých na příslušné platformě). Tk bylo navrženo jako rozšiřitelné a je dostupné množství rozšíření, která poskytují nové ovládací prvky nebo jiné funkcionality.

Verze 8.5 obsahuje nové jádro pro používání témat (theming engine), původně nazývané Tk Tile, ale nyní obecně označovaná jako „themed Tk“. Stejně jako Tcl podporuje Tk Unicode, zatím omezené na Basic Multilingual Plane. Na unixových systémech používá Tk do verze 8.4 stále bitmapové fonty, ale Tk 8.5 používá vektorové fonty (především TrueType a OpenType fonty).


Podpora programovacích jazyků

Knihovna napsaná v jednom programovacím jazyce může být používána v jiných jazycích, jestliže pro ně existují vazby (anglicky binding); pro Tk je dispozici množství vazeb pro různé jazyky[1].

Jazykové vazby Bindings existují pro několik dalších jazyků, včetně Ady (nazývaný TASH), Haskell (nazývaný HTk), Perl, Python (nazývaný Tkinter), Ruby, Rexx a Common Lisp.

Použití

Viz Kategorie:software, který používá Tk

Historie

Tk vytvořil John Ousterhout jako rozšíření pro skriptovací jazyk Tcl. Tk bylo poprvé zveřejněno na Internetu v roce 1991[2]. Až do verze 8.0 bylo číslování verzí Tk oddělené od Tcl.

Tk bylo původně napsáno pro Unix/X11 a v 90. letech 20. století stalo se velice oblíbené mezi programátory díky tomu, že je podstatně snazší na naučení a používání než Motif a jiné tehdejší dominantní toolkity pro X11[3]. Tk bylo ve verzi Tk 4.2 portováno také na platformy Microsoft Windows a Macintosh, a vylepšeno o nativní look and feel ve verzi Tk 8.0 (vydané v roce 1997). Snadnost použití a podpora na různých platformách spolu se snadností s jakou lze Tk a pod ním fungující interpret Tcl vestavět do jiného softwaru, z nich vytvořil de facto standardní GUI toolkit pro skriptovací jazyky.

Od konce 90. let 20. století zájem o Tk upadá. Na Unixu jeho implicitní look and feel stále emuluje Motif, přestože hlavní proud softwaru používá toolkity Qt a GTK+. Widgety, které se začaly široce používat v aplikacích (například stromy, combo boxy, tabbed notebooks), jádro Tk neposkytovalo, takže bylo nutné používat množství často konkurenčních doplňků.

Na konci roku 2007 vyšlo Tk 8.5, které napravilo některé z uvedených problémů přidáním chybějících widgetů do jádra, přineslo novou theming engine a zmodernizovalo look and feel na Unixu. Protože však bylo nutné provést určité změny kódu pro zahrnutí těchto vylepšení, mnoho existujících aplikací stále používá starší vzhled inspirovaný rozhraním Motif, díky kterému se Tk stal známým. Většina starší dokumentace na Internetu nebyla nikdy aktualizována, aby odrážela tato vylepšení, i když web TkDocs poskytuje aktuální průvodce zaměřené na moderní nejlepší praktiky.

Architektura

Tk je platformně nezávislý GUI framework vyvinutý pro Tcl. Ze standardního interpretu Tcl - Tcl shellu (tclsh) - lze Tk vyvolat příkazem package require Tk. Program wish (WIndowing SHell) spuští tclsh shell v grafickém okně a zároveň zpřístupňuje Tk.

Nejvýznamnější vlastnosti Tk:

  • Platformně nezávislé: Podobně jako Tcl, je Tk interpretovaný jazyk, který byl portován na mnoho platforem a může běžet im bez modifikace.
  • Uživatelsky přizpůsobitelné: Téměř všechny vlastnosti widgetů v Tk lze upravit pomocí voleb během vytváření widgetu nebo později pomocí příkazu configure.
  • Konfigurovatelné: Množství nastavení (options) může být uloženo v databázi nastavení, což usnadňuje parametrizaci vzhledu aplikace (například barevné schéma). Znamená to, že pro uložení nastavení aplikace stačí uložit příkazy pro přidání nastavení a při načítání aplikace je provést.

V jazyce Perl lze Tk používat několika způsoby: pomocí modulů Tcl::Tk a Tkx Perl, oba z nich pro zpřístupnění Tk a Perl/Tk používají Tcl, což Perlu poskytuje nativní přístup k Tk strukturám. Python a Ruby a většina jazykové vazby pro ostatní jazyky používají Tcl jako most k Tk.

Widgety

Tk poskytuje následující widgety:

  • button
  • canvas
  • checkbutton
  • combobox
  • entry
  • frame
  • label
  • labelframe
  • listbox
  • menu
  • menubutton
  • message
  • notebook
  • tk_optionMenu
  • panedwindow
  • progressbar
  • radiobutton
  • scale
  • scrollbar
  • separator
  • sizegrip
  • spinbox
  • text
  • treeview

Mimoto poskytuje následující okna nejvyšší úrovně:

  • tk_chooseColor – otevře dialogové okno umožňující uživateli vybrat barvu.
  • tk_chooseDirectory – otevře dialogové okno, které uživateli umožní vybrat adresář.
  • tk_dialog – vytvoří modální dialog a čeká na odezvu.
  • tk_getOpenSFile – otevře a dialogové okno, které uživateli umožní vybrat soubor, který se má otevřít.
  • tk_getSaveFile – otevře dialogové okno, které uživateli umožní zadat jméno ukládaného souboru.
  • tk_messageBox – otevře zpráva okno a čeká na odezvu uživatele.
  • tk_popup – vytvoří vyskakovací menu.
  • toplevel – vytváří a manipuluje s widgety nejvyšší úrovně.

Tk také poskytuje tři správce geometrie (anglicky geometry managers):

  • place – umisťuje widgety na absolutní pozice
  • grid – rozmisťuje widgety v tabulce (mřížce, anglicky grid)
  • pack – umisťuje widgety do volného prostoru

K neobvyklým a mnohaúčelovým vlastnostem Tk patří prvek canvas a textové prvky, které poskytují funkcionality dostupné pouze v několika málo jiných widget toolkitech.

Objektově orientované widgety jsou dostupné jako incr Tk a Iwidgets. Nad Tk je postaveno mnoho dalších užitečných widgetů, jako například TkTreeCtrl, BLT (toolkit), Tix Mega-Widgets a TSIPP (3D Graphics Toolkit).

Odkazy

Související články

Reference

V tomto článku byl použit překlad textu z článku Tk (software) na anglické Wikipedii.

  1. Tcl Wiki | jazyky s vazbou na Tk
  2. Ousterhout, John. "Historie Tcl", 'Tcl Developer Exchange'. Retrieved on 2010-04-01.
  3. Tk Backgrounder [online]. Dostupné online. 

Externí odkazy

Šablona:Wikibooks