ТК (программное обеспечение)
Оригинальный автор(ы) | Джон Оустерхаут |
---|---|
Разработчик(и) | Основная команда Tcl [1] |
Первоначальный выпуск | 1991 год |
Стабильная версия | 8.6.13 [2] / 22 ноября 2022 г. |
Репозиторий | |
Написано в | С |
Операционная система | Кросс-платформенный |
Платформа | Кросс-платформенный |
Тип | Набор инструментов для виджетов |
Лицензия | BSD -стиль [3] |
Веб-сайт | tcl.tk |
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]
Для языка сценариев 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]
Тк имеет следующие характеристики:
- Независимость от платформы : как и Tcl, Tk интерпретируется. Он был портирован на несколько платформ и может легко работать на всех без изменений. [17]
- Настраиваемый : почти все функции виджета в Tk настраиваются с помощью параметров во время создания виджета или позже с помощью команды настройки. [18]
- Настраиваемость : многие параметры могут храниться в базе данных параметров, что упрощает параметризацию внешнего вида приложения (например, цветовой схемы). Это также означает, что сохранение параметров, специфичных для приложения, — это всего лишь вопрос сохранения команд добавления параметров и их выполнения при загрузке приложения. [19]
Языковые привязки
[ редактировать ]Библиотека, написанная на одном языке программирования, может использоваться на другом языке, если привязки написаны ; Tk интегрирован с языком Tcl. Различные другие языки имеют привязки для Tk, неполный список которых можно найти на веб-сайте Tk. [20] Существуют привязки для дополнительных языков, которые могут отсутствовать в списке, включая Ada (называемый TASH), [21] Haskell (называемый HTk), [22] Perl , Python (называемый Tkinter ), R (через стандартный пакет: tcltk), Ruby , Rexx и Common Lisp .
Существует несколько способов использования Tk из Perl : модули Tcl::Tk и Tkx Perl, [23] оба используют Tcl в качестве моста для доступа к Tk и Perl/Tk, [24] который обеспечивает собственный доступ Perl к структурам Tk. Привязка Python использует Tcl в качестве моста к Tk. [25]
Функции
[ редактировать ]Тк предоставляет различные виджеты. [26] Основные виджеты встроены в toplevel
виджеты, которые, в свою очередь, обычно размещаются операционной системой в плавающих окнах, которые можно перемещать по экрану. [27]
Основные виджеты
[ редактировать ]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
окна с использованием менеджеров геометрии: [28]
place
— позиционирует виджеты в абсолютных местоположенияхgrid
— упорядочивает виджеты в сеткеpack
— упаковывает виджеты в полость
См. также
[ редактировать ]- Список наборов виджетов
- желание (Оконная оболочка)
- Ожидать
- Tkinter — привязка Tk для Python
- Итк
- Категория:Программное обеспечение, использующее Tk (программное обеспечение)
Ссылки
[ редактировать ]- ^ «Разработка ядра Tcl/Tk» . Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
- ^ «[TCLCORE] Tcl/Tk 8.6.13 ВЫПУЩЕНО» .
- ^ «Условия лицензирования Tcl/Tk» . Tcl-разработчик Xchange . Проверено 4 ноября 2016 г.
- ^ Написание виджета Tk на C , глава 46 практического программирования на Tcl и Tk , ISBN 0-13-038560-3
- ^ «Расширения для Tcl и Tk» . Вики Тклера . Проверено 1 ноября 2016 г.
- ^ «Ткл/Тк 8.0» . Tcl-разработчик Xchange . 18 сентября 2013 года . Проверено 1 июля 2014 г.
- ^ «Tile: улучшенный движок тем для Tk» . СоурсФордж . Проверено 4 ноября 2016 г.
- ^ Jump up to: а б «Объявление о выпуске Tcl/Tk 8.5» . Tcl-разработчик Xchange . 18 сентября 2013 года . Проверено 1 июля 2014 г.
- ^ «Объявление о выпуске Tcl/Tk 8.6» . Tcl-разработчик Xchange . 20 сентября 2013 года . Проверено 1 июля 2014 г.
- ^ Оустерхаут, Джон. «История ТКЛ» . Обмен разработчиками Tcl . Проверено 1 апреля 2010 г.
- ^ "ТК Справочник" . ТкДокс . Проверено 4 ноября 2016 г.
- ^ «Джон К. Оустерхаут — лауреат премии» . Награды АКМ . Проверено 4 ноября 2016 г.
- ^ «СОВЕТ № 48: Поддержка стилей виджетов Tk» . Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
- ^ "дерево" . Вики Тклера . Проверено 1 ноября 2016 г.
- ^ «СОВЕТ № 319: Реализуйте обратную совместимость для тематических виджетов ttk в виджетах tk» . Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
- ^ «Страница руководства пожеланий — Tk Applications» . Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
- ^ «Как скомпилировать Tcl» . Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
- ^ «Страница руководства ttk::widget — Тематический виджет Tk» . Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
- ^ «Страница руководства по опциям — Встроенные команды» . Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
- ^ «Языки с привязкой Tk» . Вики Тклера . Проверено 1 июля 2014 г.
- ^ «ТАШ» . СоурсФордж . Проверено 1 июля 2014 г.
- ^ «ХТк дом» . Информатик-FB3-Университет Бремена . Проверено 4 ноября 2016 г.
- ^ «Tkx::Tutorial — Как использовать Tkx» . Документы ActiveState . Проверено 1 ноября 2016 г.
- ^ Концепции Perl/Tk , Глава 1 в освоении Perl/Tk , ISBN 978-1565927162
- ^ Tkinter , глава 2.4 в книге «Современный Tkinter для занятых разработчиков Python» , ASIN B0071QDNLO
- ^ «Команды Тк, версия 8.6.6» . Tcl-разработчик Xchange . Проверено 1 ноября 2016 г.
- ^ Виджеты , глава 17.2 в Tcl и Tk Toolkit , ISBN 978-0321336330
- ^ Менеджеры геометрии , глава 17.6 в Tcl и Tk Toolkit , ISBN 978-0321336330
Дальнейшее чтение
[ редактировать ]- Оустерхаут, Джон К .; Джонс, Кен (2009). Tcl и набор инструментов Tk (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» , Прентис-Холл , Аппер-Сэддл-Ривер, Нью-Джерси, США, ISBN 0-13-038560-3 , 2003 г.
- Дж. Адриан Циммер, Tcl/Tk для программистов , Компьютерное общество IEEE , распространяется John Wiley and Sons, ISBN 0-8186-8515-8 , 1998 г.
- Марк Харрисон и Майкл МакЛеннан, «Эффективное программирование Tcl/Tk» , Аддисон-Уэсли , Ридинг, Массачусетс, США, ISBN 0-201-63474-0 , 1998 г.
- Берт Уиллер, «Книга по программированию на Tcl/Tk 8.5» , Packt Publishing , Бирмингем, Англия, Великобритания, ISBN 1849512981 , 2011 г.
- Клиф Флинт Tcl/Tk, Третье издание: Руководство разработчика , ISBN 0123847176 , 2012 г.
Внешние ссылки
[ редактировать ]- Официальный сайт
- Вики Тклера
- Тк 8.6 Инструкция
- Документы Tk : современное руководство по Tk для Tcl, Ruby, Perl и Python.
- Tcl-Tk в Керли
- Языки с привязкой Tk