Tk (software) - Tk (software)

Tk
Logotipo Tcl
Tk-Demo usando Tk 8.6.6 no Windows 10, novembro de 2016.png
Tk 8.6.6 no Windows 10
Autor (es) original (is) John Ousterhout
Desenvolvedor (s) Tcl Core Team
lançamento inicial 1991 ; 30 anos atrás ( 1991 )
Versão estável
8.6.11.1 / 13 de janeiro de 2021 ; 6 meses atrás ( 2021-01-13 )
Versão de visualização
9.0a1 / 26 de novembro de 2019 ; 20 meses atrás ( 26/11/2019 )
Repositório Edite isso no Wikidata
Escrito em C
Sistema operacional Plataforma cruzada
Plataforma Plataforma cruzada
Modelo Kit de ferramentas de widget
Licença Estilo BSD
Local na rede Internet www .tcl .tk

Tk é uma livre e de código aberto , multi-plataforma Widget Toolkit que fornece uma biblioteca de elementos básicos de widgets da GUI para a construção de uma interface gráfica do usuário (GUI) em muitas linguagens de programação.

O Tk fornece vários widgets comumente necessários para desenvolver aplicativos de desktop, como botão, menu, tela, texto, quadro, rótulo, etc. O Tk foi portado para rodar na maioria das versões de Linux , Mac OS , Unix e Microsoft Windows . Como o Tcl , o Tk suporta Unicode dentro do Plano Multilíngüe Básico , mas ainda não foi estendido para lidar com o Unicode completo estendido atual (por exemplo, UTF-16 do UCS-2 que o Tk suporta).

O Tk foi projetado para ser estendido e uma ampla gama de extensões está disponível, oferecendo novos widgets ou outros recursos.

Desde o Tcl / Tk 8, ele oferece "aparência e comportamento nativos" (por exemplo, menus e botões são exibidos na forma de software "nativo" para qualquer plataforma). Os destaques da versão 8.5 incluem um novo mecanismo de tema, originalmente chamado Tk Tile, mas agora é geralmente referido como "Tk temático", bem como uma renderização de fonte aprimorada. Os destaques da versão 8.6 incluem suporte a PNG e texto em ângulo.

História

O Tk foi desenvolvido por John Ousterhout como uma extensão da linguagem de script Tcl . Foi lançado publicamente pela primeira vez em 1991. O controle de versão do Tk foi feito separadamente do Tcl até a versão 8.0.

Tk foi escrito originalmente para Unix / X11 e provou ser extremamente popular entre os programadores na década de 1990 em virtude de ser mais fácil de aprender e usar do que o Motif e outros kits de ferramentas X11 da época. Tk também foi portado para plataformas Microsoft Windows e Macintosh, começando com Tk 4.2 e melhorado com aparência nativa no Tk 8.0 (lançado em 1997). Para marcar a popularidade e a importância do Tk na década de 1990, Ousterhout recebeu o Prêmio ACM Software System em 1997 por Tcl / Tk:

Vencedor do prêmio ACM Software System: John K Ousterhout
Para a linguagem de script Tcl, que permite aos desenvolvedores criar sistemas complexos a partir de componentes pré-existentes. O Tk incorporado fornece um mecanismo simples para a criação de interfaces gráficas com o usuário. Juntos, eles são uma adição poderosa ao repertório do software.

O interesse pelo Tk diminuiu significativamente a partir do final dos anos 1990. A aparência padrão no Unix ainda emulava o Motif , apesar da substituição do Motif por kits de ferramentas como FLTK , Qt e GTK . Widgets que se tornaram comumente usados ​​em aplicativos (por exemplo, árvores, caixas de combinação, blocos de notas com guias) não estavam disponíveis no núcleo do Tk, mas apenas por meio de vários complementos frequentemente concorrentes.

O Tk 8.5, lançado no final de 2007, corrigiu alguns desses problemas adicionando widgets ausentes ao núcleo, introduzindo um novo mecanismo de temas e modernizando a aparência no Unix. No entanto, como algumas alterações de código foram necessárias para incorporar esses avanços, muitos aplicativos existentes mantêm a sensação inspirada no Motif mais antiga pela qual o Tk se tornou conhecido.

Arquitetura

Tk é um framework GUI independente de plataforma desenvolvido para Tcl. De um shell Tcl (tclsh), Tk pode ser invocado usando o comando package require Tk. O programa wish (WIndowing SHell) fornece uma maneira de executar um shell tclsh em uma janela gráfica, além de fornecer o Tk.

Tk tem as seguintes características:

  • Independente de plataforma : como Tcl, Tk é interpretado. Ele foi transferido para várias plataformas e pode ser executado facilmente em todas elas sem modificação.
  • Customizável : Quase todos os recursos de um widget no Tk são customizáveis ​​por meio de opções durante a criação do widget ou posteriormente por meio do comando configure.
  • Configurável : muitas das opções podem ser armazenadas em um banco de dados de opções, tornando muito fácil parametrizar a aparência de um aplicativo (como o esquema de cores). Isso também significa que armazenar as opções específicas do aplicativo é apenas uma questão de salvar os comandos de adição de opção e executá-los ao carregar o aplicativo.

Ligações de linguagem

Uma biblioteca escrita em uma linguagem de programação pode ser usada em outra linguagem se os vínculos forem escritos; O Tk está integrado com a linguagem Tcl. Várias outras linguagens têm vínculos para o Tk, uma lista parcial dos quais está no site do Tk. Existem vinculações para linguagens adicionais que podem não estar listadas, incluindo Ada (chamada TASH), Haskell (chamada HTk), Perl , Python (chamada Tkinter ), Ruby , Rexx e Common Lisp .

Existem várias maneiras de usar o Tk do Perl : os módulos Tcl :: Tk e Tkx Perl, os quais usam o Tcl como uma ponte para acessar o Tk, e o Perl / Tk, que fornece acesso Perl nativo às estruturas Tk. A ligação Python usa Tcl como uma ponte para Tk.

Recursos

Tk fornece vários widgets. Widgets básicos são embutidos em toplevelwidgets, que por sua vez são geralmente hospedados pelo sistema operacional em janelas flutuantes que podem ser movidas na tela.

Widgets básicos

  • 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

Widgets de nível superior

  • tk_chooseColor- abre uma caixa de diálogo para o usuário selecionar uma cor.
  • tk_chooseDirectory - abre uma caixa de diálogo para o usuário selecionar um diretório.
  • tk_dialog - cria um diálogo modal e espera por uma resposta.
  • tk_getOpenFile - abre uma caixa de diálogo para o usuário selecionar um arquivo a ser aberto.
  • tk_getSaveFile - abre uma caixa de diálogo para o usuário selecionar um arquivo para salvar.
  • tk_messageBox - abre uma janela de mensagem e espera pela resposta do usuário.
  • tk_popup - posta um menu pop-up.
  • toplevel - cria e manipula widgets de nível superior.

Gerentes de geometria

Os widgets básicos são organizados em topleveljanelas usando gerenciadores de geometria:

  • place - posiciona widgets em locais absolutos
  • grid - organiza os widgets em uma grade
  • pack - empacota widgets em uma cavidade

Veja também

Referências

Leitura adicional

links externos