stringtranslate.com

Tk (software)

Tk es un conjunto de herramientas de widgets multiplataforma que proporciona una biblioteca de elementos básicos de widgets GUI para crear una interfaz gráfica de usuario (GUI) en muchos lenguajes de programación. Es un software gratuito y de código abierto publicado bajo una licencia de software estilo BSD .

Tk proporciona muchos widgets comúnmente necesarios para desarrollar aplicaciones de escritorio, como botones, menús, lienzos, texto, marcos, etiquetas, etc. Tk ha sido adaptado para ejecutarse en la mayoría de las versiones de Linux , macOS , Unix y Microsoft Windows . Al igual que Tcl , Tk admite Unicode dentro del plano multilingüe básico , pero aún no se ha extendido para manejar el Unicode completo extendido actual (por ejemplo, UTF-16 de UCS-2 que admite Tk).

Tk fue diseñado para ampliarse y hay disponible una amplia gama de extensiones que ofrecen nuevos widgets u otras capacidades. [4] [5]

Desde Tcl/Tk 8, ofrece "apariencia nativa" (por ejemplo, los menús y botones se muestran en la forma del software "nativo" para cualquier plataforma determinada). [6] Los aspectos más destacados de la versión 8.5 incluyen un nuevo motor de temas, originalmente llamado Tk Tile, [7] pero ahora se lo conoce generalmente como "Tk temático", así como una representación de fuentes mejorada. [8] Los aspectos más destacados de la versión 8.6 incluyen compatibilidad con PNG y texto en ángulo. [9]

Historia

Tk fue desarrollado por John Ousterhout como una extensión del lenguaje de programación Tcl . Se lanzó públicamente por primera vez en 1991. [10] El control de versiones de Tk se realizó por separado de Tcl hasta la versión 8.0.

Tk fue escrito originalmente para Unix/X11 y resultó extremadamente popular entre los programadores en la década de 1990 debido a que era más fácil de aprender y usar que Motif y otros kits de herramientas X11 de la época. [11] Tk también fue portado a las plataformas Microsoft Windows y Macintosh, comenzando con Tk 4.2 y mejorado con apariencia nativa en Tk 8.0 (lanzado en 1997). Para marcar la popularidad y la importancia de Tk en la década de 1990, Ousterhout recibió el premio ACM Software System Award en 1997 por Tcl/Tk: [12]

Ganador del premio del sistema de software ACM: John K Ousterhout

Para el lenguaje de programación Tcl que permite a los desarrolladores crear sistemas complejos a partir de componentes preexistentes. El Tk integrado proporciona un mecanismo simple para crear interfaces gráficas de usuario. Juntos constituyen una potente incorporación al repertorio de software.

El interés en Tk disminuyó significativamente desde finales de la década de 1990 en adelante. La apariencia predeterminada en Unix todavía emulaba a Motif , a pesar del reemplazo generalizado de Motif por kits de herramientas como FLTK , Qt y GTK . [13] Los widgets que se utilizaron comúnmente en las aplicaciones (por ejemplo, árboles, cuadros combinados, cuadernos con pestañas) no estaban disponibles en el núcleo de Tk, sino sólo a través de múltiples complementos, a menudo competitivos. [14]

Tk 8.5, lanzado a finales de 2007, corrigió algunos de estos problemas agregando widgets faltantes al núcleo, introduciendo un nuevo motor de temas y modernizando la apariencia en Unix. [8] Sin embargo, debido a que se requirieron algunos cambios de código para incorporar estos avances, muchas aplicaciones existentes conservan la sensación antigua inspirada en Motif por la que Tk se había hecho conocido. [15]

Arquitectura

Tk es un marco GUI independiente de la plataforma desarrollado para Tcl. Desde un shell Tcl (tclsh), se puede invocar Tk usando el comando package require Tk. El deseo del programa (WIndowing SHell) proporciona una forma de ejecutar un shell tclsh en una ventana gráfica, además de proporcionar Tk. [dieciséis]

Tk tiene las siguientes características:

Enlaces de idiomas

Una biblioteca escrita en un lenguaje de programación se puede utilizar en otro lenguaje si se escriben enlaces ; Tk está integrado con el lenguaje Tcl. Varios otros idiomas tienen enlaces para Tk, cuya lista parcial se encuentra en el sitio web de Tk. [20] Existen enlaces para lenguajes adicionales que podrían no aparecer en la lista, incluido Ada (llamado TASH), [21] Haskell (llamado HTk), [22] Perl , Python (llamado Tkinter ), R (a través del paquete estándar: tcltk) , Ruby , Rexx y Common Lisp .

Hay varias formas de utilizar Tk desde Perl : los módulos Tcl::Tk y Tkx Perl, [23] los cuales utilizan Tcl como puente para acceder a Tk, y Perl/Tk, [24] que proporciona acceso Perl nativo a Tk. estructuras. El enlace de Python utiliza Tcl como puente hacia Tk. [25]

Características

Tk proporciona varios widgets. [26] Los widgets básicos están integrados en toplevelwidgets, que a su vez suelen estar alojados en el sistema operativo en ventanas flotantes que se pueden mover en la pantalla. [27]

widgets básicos

Widgets de nivel superior

Gestores de geometría

Los widgets básicos se organizan en toplevelventanas mediante administradores de geometría: [28]

Ver también

Referencias

  1. ^ "Desarrollo central de Tcl/Tk". Tcl desarrollador Xchange . Consultado el 1 de noviembre de 2016 .
  2. ^ "[TCLCORE] Tcl/Tk 8.6.13 LANZADO".
  3. ^ "Términos de la licencia de Tcl/Tk". Tcl desarrollador Xchange . Consultado el 4 de noviembre de 2016 .
  4. ^ Escribir un widget Tk en C , Capítulo 46 en Programación práctica en Tcl y Tk , ISBN 0-13-038560-3 
  5. ^ "Extensiones para Tcl y Tk". Wiki de Tcler . Consultado el 1 de noviembre de 2016 .
  6. ^ "Tcl/Tk 8.0". Tcl desarrollador Xchange . 18 de septiembre de 2013 . Consultado el 1 de julio de 2014 .
  7. ^ "Tile: un motor de temas mejorado para Tk". FuenteForge . Consultado el 4 de noviembre de 2016 .
  8. ^ ab "Anuncio de lanzamiento de Tcl/Tk 8.5". Tcl desarrollador Xchange . 18 de septiembre de 2013 . Consultado el 1 de julio de 2014 .
  9. ^ "Anuncio de lanzamiento de Tcl/Tk 8.6". Tcl desarrollador Xchange . 20 de septiembre de 2013 . Consultado el 1 de julio de 2014 .
  10. ^ Ousterhout, John. "Historia de Tcl". Intercambio de desarrolladores de Tcl . Consultado el 1 de abril de 2010 .
  11. ^ "Antecedentes de Tk". TkDocs . Consultado el 4 de noviembre de 2016 .
  12. ^ "John K Ousterhout - Ganador del premio". Premios ACM . Consultado el 4 de noviembre de 2016 .
  13. ^ "CONSEJO n.° 48: compatibilidad con el estilo de widgets de Tk". Tcl desarrollador Xchange . Consultado el 1 de noviembre de 2016 .
  14. ^ "vista de árbol". Wiki de Tcler . Consultado el 1 de noviembre de 2016 .
  15. ^ "CONSEJO n.º 319: implementar compatibilidad con versiones anteriores para widgets temáticos de ttk en widgets de tk". Tcl desarrollador Xchange . Consultado el 1 de noviembre de 2016 .
  16. ^ "página del manual de deseos - Aplicaciones Tk". Tcl desarrollador Xchange . Consultado el 1 de noviembre de 2016 .
  17. ^ "Cómo compilar Tcl". Tcl desarrollador Xchange . Consultado el 1 de noviembre de 2016 .
  18. ^ "ttk::página del manual del widget - Widget temático Tk". Tcl desarrollador Xchange . Consultado el 1 de noviembre de 2016 .
  19. ^ "página del manual de opciones: comandos integrados". Tcl desarrollador Xchange . Consultado el 1 de noviembre de 2016 .
  20. ^ "Idiomas con vinculación Tk". Wiki de Tcler . Consultado el 1 de julio de 2014 .
  21. ^ "TASA". FuenteForge . Consultado el 1 de julio de 2014 .
  22. ^ "HTk casa". Informática - FB3 - Uni Bremen . Consultado el 4 de noviembre de 2016 .
  23. ^ "Tkx::Tutorial - Cómo utilizar Tkx". Documentos de ActiveState . Consultado el 1 de noviembre de 2016 .
  24. ^ Conceptos de Perl/Tk , Capítulo 1 en Mastering Perl/Tk , ISBN 978-1565927162 
  25. ^ Tkinter , Capítulo 2.4 en Tkinter moderno para desarrolladores de Python ocupados , ASIN  B0071QDNLO
  26. ^ "Comandos Tk, versión 8.6.6". Tcl desarrollador Xchange . Consultado el 1 de noviembre de 2016 .
  27. ^ Widgets', Capítulo 17.2 en Tcl y Tk Toolkit , ISBN 978-0321336330 
  28. ^ Geometry Managers', Capítulo 17.6 en Tcl y Tk Toolkit , ISBN 978-0321336330 

Otras lecturas

enlaces externos