Jump to content

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

(Перенаправлено с Tk (framework) )

Тк
Оригинальный автор(ы) Джон Оустерхаут
Разработчик(и) Основная команда Tcl [1]
Первоначальный выпуск 1991 год ; 33 года назад ( 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]

Победитель премии 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]

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

  • Независимость от платформы : как и 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 — упаковывает виджеты в полость

См. также

[ редактировать ]
  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. ^ «Ткл/Тк 8.0» . Tcl-разработчик Xchange . 18 сентября 2013 года . Проверено 1 июля 2014 г.
  7. ^ «Tile: улучшенный движок тем для Tk» . СоурсФордж . Проверено 4 ноября 2016 г.
  8. ^ Jump up to: а б «Объявление о выпуске 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. ^ "ТК Справочник" . ТкДокс . Проверено 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. ^ «ХТк дом» . Информатик-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. ^ «Команды Тк, версия 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

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

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8ea487462afdcec20118068650455055__1721382120
URL1:https://arc.ask3.ru/arc/aa/8e/55/8ea487462afdcec20118068650455055.html
Заголовок, (Title) документа по адресу, URL1:
Tk (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)