stringtranslate.com

ТК (программное обеспечение)

Tk — это кроссплатформенный набор инструментов для виджетов , который предоставляет библиотеку основных элементов виджетов с графическим пользовательским интерфейсом для создания графического пользовательского интерфейса (GUI) на многих языках программирования. Это бесплатное программное обеспечение с открытым исходным кодом, выпущенное под лицензией на программное обеспечение в стиле BSD .

Tk предоставляет множество виджетов, обычно необходимых для разработки настольных приложений, таких как кнопки, меню, холст, текст, рамка, метка и т. д. Tk был портирован для работы на большинстве версий Linux , macOS , Unix и Microsoft Windows . Как и Tcl , Tk поддерживает Unicode в базовой многоязычной плоскости , но он еще не расширен для поддержки текущего расширенного полного Unicode (например, UTF-16 из UCS-2, который поддерживает Tk).

Tk был разработан с возможностью расширения, и доступен широкий спектр расширений, предлагающих новые виджеты или другие возможности. [4] [5]

Начиная с Tcl/Tk 8, он предлагает «собственный внешний вид» (например, меню и кнопки отображаются в виде «родного» программного обеспечения для любой конкретной платформы). [6] Основные моменты версии 8.5 включают новый механизм тем, первоначально называвшийся Tk Tile, [7] но теперь его обычно называют «тематическим Tk», а также улучшенный рендеринг шрифтов. [8] К особенностям версии 8.6 относятся поддержка PNG и наклонный текст. [9]

История

Tk был разработан Джоном Оустерхаутом как расширение языка сценариев Tcl . Впервые он был публично выпущен в 1991 году. [10] Управление версиями Tk осуществлялось отдельно от Tcl до версии 8.0.

Первоначально Tk был написан для Unix/X11 и оказался чрезвычайно популярным среди программистов в 1990-х годах благодаря тому, что его было легче изучить и использовать, чем Motif и другие наборы инструментов X11 того времени. [11] Tk также был перенесен на платформы Microsoft Windows и Macintosh, начиная с Tk 4.2 и улучшен за счет собственного внешнего вида в Tk 8.0 (выпущен в 1997 году). Чтобы отметить популярность и значимость Tk в 1990-х годах, Оустерхауту была вручена награда ACM Software System Award в 1997 году за Tcl/Tk: [12]

Победитель премии ACM Software System: Джон К. Оустерхаут

Для языка сценариев Tcl, который позволяет разработчикам создавать сложные системы из уже существующих компонентов. Встроенный Tk предоставляет простой механизм создания графических пользовательских интерфейсов. Вместе они составляют мощное дополнение к репертуару программного обеспечения.

Интерес к Тк значительно снизился с конца 1990-х годов и позже. Внешний вид по умолчанию в Unix по-прежнему эмулировал Motif , несмотря на массовую замену Motif такими наборами инструментов, как FLTK , Qt и GTK . [13] Виджеты, которые стали широко использоваться в приложениях (например, деревья, поля со списком, блокноты с вкладками), не были доступны в ядре Tk, а только через несколько, часто конкурирующих надстроек. [14]

В версии Tk 8.5, выпущенной в конце 2007 года, некоторые из этих проблем были исправлены путем добавления в ядро ​​отсутствующих виджетов, введения нового механизма тем и модернизации внешнего вида Unix. [8] Однако, поскольку для включения этих усовершенствований потребовались некоторые изменения кода, многие существующие приложения сохраняют старое ощущение, вдохновленное Motif, которым стал известен Tk. [15]

Архитектура

Tk — это независимая от платформы платформа графического интерфейса , разработанная для Tcl. Из оболочки Tcl (tclsh) Tk можно вызвать с помощью команды package require Tk. Программа WIndowing SHell позволяет запускать оболочку tclsh в графическом окне, а также предоставляет Tk. [16]

Тк имеет следующие характеристики:

Языковые привязки

Библиотека, написанная на одном языке программирования, может использоваться на другом языке, если написаны привязки ; Tk интегрирован с языком Tcl. Различные другие языки имеют привязки для Tk, неполный список которых можно найти на веб-сайте Tk. [20] Существуют привязки для дополнительных языков, которые могут отсутствовать в списке, включая Ada (называемый TASH), [21] Haskell (называемый HTk), [22] Perl , Python (называемый Tkinter ), R (через стандартный пакет: tcltk). , Ruby , Rexx и Common Lisp .

Существует несколько способов использования Tk из Perl : модули Perl Tcl::Tk и Tkx, [23] оба из которых используют Tcl в качестве моста для доступа к Tk, и Perl/Tk, [24] который обеспечивает собственный доступ Perl к Tk. структуры. Привязка Python использует Tcl в качестве моста к Tk. [25]

Функции

Тк предоставляет различные виджеты. [26] Базовые виджеты встроены в toplevelвиджеты, которые, в свою очередь, обычно размещаются операционной системой в плавающих окнах, которые можно перемещать по экрану. [27]

Основные виджеты

Виджеты верхнего уровня

Менеджеры геометрии

Базовые виджеты располагаются в toplevelокнах с помощью менеджеров геометрии: [28]

Смотрите также

Рекомендации

  1. ^ «Разработка ядра Tcl/Tk» . Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
  2. ^ «[TCLCORE] Tcl/Tk 8.6.13 ВЫПУЩЕНО» .
  3. ^ «Условия лицензирования Tcl/Tk» . Разработчик Tcl Xchange . Проверено 4 ноября 2016 г.
  4. ^ Написание виджета Tk на C , глава 46 практического программирования на Tcl и Tk , ISBN 0-13-038560-3 
  5. ^ «Расширения для Tcl и Tk». Вики Тклера . Проверено 1 ноября 2016 г.
  6. ^ "Tcl/Tk 8.0" . Tcl-разработчик Xchange . 18 сентября 2013 года . Проверено 1 июля 2014 г.
  7. ^ «Плитка: улучшенный движок тем для Tk» . СоурсФордж . Проверено 4 ноября 2016 г.
  8. ^ ab «Объявление о выпуске Tcl/Tk 8.5» . Tcl-разработчик Xchange . 18 сентября 2013 года . Проверено 1 июля 2014 г.
  9. ^ «Объявление о выпуске Tcl/Tk 8.6» . Tcl-разработчик Xchange . 20 сентября 2013 года . Проверено 1 июля 2014 г.
  10. ^ Оустерхаут, Джон. «История ТКЛ». Обмен разработчиками Tcl . Проверено 1 апреля 2010 г.
  11. ^ "Tk Backgrounder" . ТкДокс . Проверено 4 ноября 2016 г.
  12. ^ "Джон К. Оустерхаут - обладатель награды" . Награды АКМ . Проверено 4 ноября 2016 г.
  13. ^ «СОВЕТ № 48: Поддержка стилей виджетов Tk» . Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
  14. ^ "Древовидное представление" . Вики Тклера . Проверено 1 ноября 2016 г.
  15. ^ «СОВЕТ № 319: Реализуйте обратную совместимость для тематических виджетов ttk в виджетах tk» . Разработчик Tcl Xchange . Проверено 1 ноября 2016 г.
  16. ^ "Страница руководства пожеланий - Tk Applications" . Разработчик Tcl Xchange . Проверено 1 ноября 2016 г.
  17. ^ «Как скомпилировать Tcl». Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
  18. ^ "Страница руководства ttk::widget - Тематический виджет Tk" . Разработчик Tcl Xchange . Проверено 1 ноября 2016 г.
  19. ^ «Страница руководства по опциям — Встроенные команды» . Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
  20. ^ «Языки с привязкой Tk» . Вики Тклера . Проверено 1 июля 2014 г.
  21. ^ "ТАШ". СоурсФордж . Проверено 1 июля 2014 г.
  22. ^ "HTk дом" . Информатик-FB3-Университет Бремена . Проверено 4 ноября 2016 г.
  23. ^ «Tkx::Tutorial — Как использовать Tkx» . Документы ActiveState . Проверено 1 ноября 2016 г.
  24. ^ Концепции Perl/Tk , Глава 1 в Освоении Perl/Tk , ISBN 978-1565927162 
  25. ^ Tkinter , глава 2.4 в книге « Современный Tkinter для занятых разработчиков Python» , ASIN  B0071QDNLO
  26. ^ «Команды Tk, версия 8.6.6» . Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
  27. ^ Виджеты», глава 17.2 в Tcl и Tk Toolkit , ISBN 978-0321336330 
  28. ^ Менеджеры по геометрии, глава 17.6 в Tcl и Tk Toolkit , ISBN 978-0321336330 

дальнейшее чтение

Внешние ссылки