Из Википедии, свободной энциклопедии
  (Перенаправлен с Тк )
Перейти к навигации Перейти к поиску

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

Tk предоставляет ряд виджетов, обычно необходимых для разработки настольных приложений, таких как кнопка, меню, холст, текст, рамка, метка и т. Д. Tk был перенесен для работы на большинстве разновидностей Linux , Mac OS , Unix и Microsoft Windows . Как и 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] Управление версиями Tk осуществлялось отдельно от Tcl до версии 8.0.

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

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

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

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

Архитектура [ править ]

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

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

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

Привязки языков [ править ]

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

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

Особенности [ править ]

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

Основные виджеты [ править ]

  • 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

Виджеты верхнего уровня [ править ]

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

Менеджеры геометрии [ править ]

Основные виджеты организованы в toplevelокнах с помощью диспетчеров геометрии: [27]

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

См. Также [ править ]

  • Список наборов инструментов для виджетов
  • желание (оконная оболочка)
  • Ожидать
  • Tkinter - привязка Tk для Python
  • Itk
  • Категория: Программное обеспечение, использующее Tk

Ссылки [ править ]

  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" . Tcler's Wiki . Проверено 1 ноября +2016 .
  5. ^ "Tcl / Tk 8.0" . Разработчик Tcl Xchange . 18 сентября 2013 . Проверено 1 июля 2014 года .
  6. ^ "Плитка: улучшенный движок темы для Tk" . SourceForge . Проверено 4 ноября +2016 .
  7. ^ a b "Объявление о выпуске Tcl / Tk 8.5" . Разработчик Tcl Xchange . 18 сентября 2013 . Проверено 1 июля 2014 года .
  8. ^ "Объявление о выпуске Tcl / Tk 8.6" . Разработчик Tcl Xchange . 20 сентября 2013 . Проверено 1 июля 2014 года .
  9. ^ Ousterhout, Джон. «История ТЦЛ» . Tcl Developer Exchange . Проверено 1 апреля 2010 года .
  10. ^ "Tk Backgrounder" . TkDocs . Проверено 4 ноября +2016 .
  11. ^ «Джон К. Остерхаут - лауреат премии» . ACM Awards . Проверено 4 ноября +2016 .
  12. ^ "СОВЕТ № 48: Поддержка Tk Widget Styling" . Разработчик Tcl Xchange . Проверено 1 ноября +2016 .
  13. ^ "treeview" . Tcler's Wiki . Проверено 1 ноября +2016 .
  14. ^ «СОВЕТ № 319: Реализуйте обратную совместимость для тематических виджетов ttk в виджетах ttk» . Разработчик 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" . Tcler's Wiki . Проверено 1 июля 2014 года .
  20. ^ "ТАШ" . SourceForge . Проверено 1 июля 2014 года .
  21. ^ "HTk home" . Информатик - FB3 - Uni Bremen . Проверено 4 ноября +2016 .
  22. ^ "Tkx :: Учебник - Как использовать Tkx" . ActiveState Docs . Проверено 1 ноября +2016 .
  23. ^ Perl / Tk Concepts , Глава 1 в освоении Perl / Tk , ISBN 978-1565927162 
  24. ^ Tkinter , Глава 2.4 в Modern Tkinter для занятых разработчиков Python , ASIN  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 

Дальнейшее чтение [ править ]

  • Остерхаут, Джон К .; Джонс, Кен (2009). Tcl и Tk Toolkit (2-е изд.). Эддисон Уэсли. ISBN 978-0-321-33633-0. Проверено 4 ноября 2012 года .
  • Фостер-Джонсон, Эрик (1997). Графические приложения с Tcl & Tk (2-е изд.). Нью-Йорк, Нью-Йорк: M&T Books. ISBN 1-55851-569-0. Проверено 4 ноября 2012 года .
  • Брент Б. Велч, Практическое программирование в Tcl и Tk , Prentice Hall , Upper Saddle River, NJ, США, ISBN 0-13-038560-3 , 2003 
  • Дж. Адриан Циммер, Tcl / Tk для программистов , IEEE Computer Society , распространяется John Wiley and Sons, ISBN 0-8186-8515-8 , 1998 
  • Марк Харрисон и Майкл МакЛеннан, Эффективное программирование Tcl / Tk , Аддисон-Уэсли , Рединг, Массачусетс, США, ISBN 0-201-63474-0 , 1998 
  • Берт Уиллер, Tcl / Tk 8.5 Programming Cookbook , Packt Publishing , Бирмингем, Англия, Великобритания, ISBN 1849512981 , 2011 
  • Клиф Флинт Tcl / Tk, третье издание: руководство разработчика , ISBN 0123847176 , 2012 г. 

Внешние ссылки [ править ]

  • Официальный сайт
  • Вики Тклера
  • Tk 8.6 Инструкция
  • Tk docs : современный учебник Tk для Tcl, Ruby, Perl и Python
  • Tcl-Tk в Керли
  • Языки с привязкой Tk