python

Конструктор GUI Visual Tcl с поддержкой тематических виджетов

  • пятница, 12 января 2018 г. в 03:15:41
https://habrahabr.ru/post/346410/
  • Интерфейсы
  • Графические оболочки
  • Python
  • Open source
  • IT-стандарты


imageПоследняя версия конструктора GUI Visual Tcl опирается на использование пакета Tcl/Tk версии 8.6. Этот пакет включает в себя как классические Tk-виджеты, так и тематические виджеты (Themed Widgets) TTK. Тем удивительнее, что конструктор vTcl поддерживает только классические tk-виджеты. Отчасти это можно объяснить поддержкой в vTcl виджетов BWidget, которые исторически включают в себя виджеты для создания «записных книжек» (Notebook), combobox-ов и т.д.:

image


Имея в своем распоряжении виджеты BWidget, теоретически можно обойтись и без тематических виджетов notebook, combobox и т.п.

imageС другой стороны, на базе vTcl создан конструктор PAGE (Python Automatic GUI Generator ), который генерирует GUI на Python с Tkinter. При этом используются как классические Tk-виджеты, так и тематические виджеты TTK. И сразу возникло естественное желание: если vTcl фактически стал прородителем конструктора PAGE, то почему последний не может поделиться поддержкой тематических виджетов (Themed Widgets) и хотя бы частично вернуть «долг» своему прародителю конструктору Visual Tcl. Благодарный прародитель не только принял в свое лоно тематические виджеты от конструктора PAGE, но и не забыл добавить к ним виджет TSeparator (как вертикальный, так и горизонтальный):

image

В число редактируемых атрибутов (Attribute Editor) тематических виджетов были добавлены атрибуты padding и самое главное для тематических виджетов — атрибут style.
Главное окно vTcl с учетом добавленных возможностей стало выглядеть так:

image

Включить/отключить поддержку TTK-виджетов можно в окне Preferences
(File->Preferences->Libraries->lib_ttk.tcl )

image


Ну и наконец, исходный код версии vTcl с поддержкой TTK (Themed Widgets) можно скачать здесь.