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

Тк
Логотип tcl
Tk 8.6.6 в Windows 10
Tk 8.6.6 в Windows 10
Оригинальный автор (ы)Джон Остерхаут
Разработчики)Основная команда Tcl[1]
изначальный выпуск1991; 29 лет назад (1991)
Стабильный выпуск
8.6.10 / 11 марта 2020 г.; 8 месяцев назад (2020-03-11)
Предварительный выпуск
9.0a1 / 26 ноября 2019; 11 месяцев назад (2019-11-26)
Репозиторий Отредактируйте это в Викиданных
Написано вC
Операционная системаКроссплатформенность
ПлатформаКроссплатформенность
ТипНабор инструментов для виджетов
ЛицензияBSD -стиль[2]
Интернет сайтwww.tcl.tk

Тк это бесплатно и с открытым исходным кодом, кросс-платформенный набор инструментов для виджетов который предоставляет библиотеку основных элементов Виджеты GUI для создания графический интерфейс пользователя (GUI) на многих языках программирования.

Tk предоставляет ряд виджетов, обычно необходимых для разработки настольных приложений, таких как кнопка, меню, холст, текст, рамка, метка и т. Д. Tk был портирован для работы на большинстве разновидностей Linux, Mac OS, Unix, и Майкрософт Виндоус. Нравиться Tcl, Tk поддерживает Unicode в пределах Базовая многоязычная плоскость но он еще не был расширен для обработки текущего расширенного полного Unicode (например. UTF-16 из UCS-2, который поддерживает Tk).

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

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

История

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

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

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

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

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

Архитектура

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

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

  • Независимая платформа: Как и Tcl, Tk интерпретируется. Он был перенесен на несколько платформ и может легко работать на всех без изменений.[16]
  • Настраиваемый: Почти все функции виджета в Tk можно настроить с помощью параметров во время создания виджета или позже с помощью команды configure.[17]
  • Настраиваемый: Многие параметры могут храниться в базе данных параметров, что упрощает параметризацию внешнего вида приложения (например, цветовую схему). Это также означает, что для сохранения параметров приложения необходимо только сохранить команды добавления параметров и выполнить их при загрузке приложения.[18]

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

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

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

Функции

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

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

  • кнопка
  • холст
  • контрольная кнопка
  • поле со списком
  • Вход
  • Рамка
  • метка
  • этикетка
  • список
  • меню
  • кнопка меню
  • сообщение
  • ноутбук
  • панорамное окно
  • индикатор
  • переключатель
  • шкала
  • полоса прокрутки
  • разделитель
  • размер
  • счетчик
  • текст
  • tk_optionMenu
  • в виде дерева

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

  • tk_chooseColor - всплывает диалоговое окно чтобы пользователь мог выбрать цвет.
  • tk_chooseDirectory - открывает диалоговое окно для выбора пользователем каталога.
  • tk_dialog - создает модальный диалог и ждет ответа.
  • tk_getOpenFile - открывает диалоговое окно, в котором пользователь может выбрать файл для открытия.
  • tk_getSaveFile - открывает диалоговое окно, в котором пользователь может выбрать файл для сохранения.
  • tk_messageBox - открывает окно сообщения и ждет ответа пользователя.
  • tk_popup - размещает всплывающее меню.
  • верхний уровень - создает и манипулирует виджетами верхнего уровня.

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

Основные виджеты расположены в верхний уровень окна с использованием менеджеров геометрии:[27]

  • место - позиционирует виджеты в абсолютных местах
  • сетка - размещает виджеты в сетке
  • пакет - упаковывает виджеты в полость

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

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

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

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

внешняя ссылка