
После серии статей про svg-виджеты в tcl/tk, меня не оставляло чувство какой-то незавершенности. Всматриваясь в проект svgwidgets, стало понятно, что не хватает утилиты с удобным интерфейсом для генерации градиентной заливки.
Программист
После серии статей про svg-виджеты в tcl/tk, меня не оставляло чувство какой-то незавершенности. Всматриваясь в проект svgwidgets, стало понятно, что не хватает утилиты с удобным интерфейсом для генерации градиентной заливки.
Работая над проектом «SVG-виджеты для tckl/tk», я с нетерпением ждал выхода не только релиза Tcl/Tk-9.0, но и выхода интерпретатора tclexecomp с его поддержкой. Релиз Tcl/Tk-9.0 появился в сентябре 2024 года, когда работа над проектом приближалась к завершению. После выхода релиза Tcl/Tk-9.0.0, сразу же появилось желание протестировать свой проект с новым интерпретатором, но я решил дождаться появления и интерпретатора tclexecomp с поддержкой нового релиза Tcl/Tk.
Время шло, на Хабре была выложена финальная статья про svg-виджеты, а tclexecomp на базе Tcl/Tk-9.0 так и не появлялся. В настоящее время уже вышел второй релиз, а именно Tcl/Tk-9.0.1. И тогда было решено воспользоваться советом Ивана Владимировича Мичурина:
Реализация проекта «SVG-виджеты для tckl/tk» позволяет устранить одну из главных претензий, предъявляемых к графическому интерфейсу приложений, разрабатываемых с использованием tk - устаревший дизайн виджетов. Переход от классических виджетов к svg-виджетам не требует больших усилий. В этом лично я убедился, переписав gui утилиты для работы с электронной подписью cryptoarmpkcs. Ее дистрибутивы под именем cryptoarmpkcs_svg для платформ Linux64 и Windows64 можно найти в проекте:
16сентября сего года я вернулся из турне по средней Волге. Первая часть турне включала поездку от Москвы до г. Чебоксары на поезде. Мне сразу повезло, на сортировочной станции Чебоксары-2 мне удалось сделать уникальный снимок:
Работая нал проектом svgwidgets я активно использовал функционал tk busy, который появился в релизе Tcl/Tk 8.6.0. Мне стало интересно, а поддерживается ли этот функционал в Python-е, а точнее в Tkinter-е. Каково же было мое удивление узнать, что именно сейчас в Tkinter, который входит в состав Python версии 3.13, добавляется функционал tk busy, который давно включен в tcl/tk. Релиз Python 3.13 ожидается в октябре этого года. Мне показалось, что будет полезно рассказать о функционале tk busy, а точнее о новых методов для виджетах в Tkinter. Вот эти методы - tk_busy_hold(), tk_busy_configure(), tk_busy_cget(), tk_busy_forget() и tk_busy_current().
Командаy tk busy предоставляет простой способ блокировки виджета от действий пользователя.
Как работает методы блокировки tk_busy в Tkinter рассмотрим на примере. При этом будем использовать классические виджеты.
Но для начала пришлось собрать из исходных кодов Python-3.13.0rc1.tgz дистрибутив Python-а. Все это было мною проделано в Linux на Mageia release 9.
Итак, создадим некий графический интерфейс, в котором будет главное окно (mwin) размером 10 сантиметров на 6 сантиметров с виджетом панели (frame1), в которой будут размещены поле ввода данных (ent1) и кнопка (but1):
bash-5.2$ /usr/local/bin64/python3.13 Python 3.13.0rc1 (main, Aug 21 2024, 15:48:04) [GCC 12.3.0] on linux Type "help", "copyright", "credits" or "license" for more information.
Вот и наступил тот момент, когда стало возможным при разработке gui на tcl/tk простое использование в качестве иконок графических изображений, хранящихся в svg-файлах:
Продолжим знакомство с svg-виджетами для tcl/tk. Напомним, что рассматриваемые примеры, сам пакет svgwidgets и интерпретаторы tcl/tk с необходимыми пакетами можно найти на github-е. После выхода первой статьи все они претерпели изменения. Начнем мы статью с примера скрипт_button_PACK.tcl:
$/usr/local/bin64/tclexecomp140_svg_Linux64 скрипт_button_PACK.tcl
Начать статью хочу с цитаты из слов Брайана Кернигана,которую мне посчастливилось найти:
Tcl/Tk придает работе магическую продуктивность, за несколько часов можно достигнуть тех же результатов, что за дни или недели при разработке на C или C++... Tk весьма эффективен для большинства приложений, многие элементы интерфейса (виджеты) реализованы настолько хорошо, что остается только удивляться, как подобная работа могла быть выполнена так качественно... Удачным кажется и то, что разделение задач между Тсl и С/С++ осуществляется достаточно легко, надо только знать, какой инструмент лучше справляется с задачей... Расширение системы дополнительным Tcl-кодом, загружаемым напрямую в Tcl-библиотеку приложения, в полном согласии с оригинальной идеей Остераута, повышает эффективность программы, в целом, упрощает ее структуру и улучшает мобильность... Я не уверен, что Тсl мог бы выжить как самостоятельный продукт - у него слишком много конкурентов. Но у сочетания Tcl/Tk в Unix-мире нет конкурентов... Система исключительно надежна, очень хорошо документирована... свободно доступна... безукоризненно высокого качества
У современного читателя может возникнуть резонный вопрос — почему программисты, а не IT‑ишники? Ответ кроется в самом заголовке. В 70-х, 80-х годах прошлого столетия, а точнее в СССР не было понятия IT‑и. Были понятия «кибернетика», «вычислительная техника», «электронно‑вычислительные машины» (или просто ЭВМ), и были понятия «программист» и «машинист». Если с программистом все понятно, то машинисты отвечали за эксплуатацию ЭВМ, их ремонт, обслуживание и т. п. Их еще называли электронщиками. Современный IT‑шник может задаться вопросом — какое обслуживание, какой ремонт? И будет прав, но прав применительно к современности. А тогда ЭВМ занимали огромные помещения и требовали большого штата различных специалистов:
Именно так начиналась моя статья посвященная музею «Сделано в СССР», который я открыл для себя в городе Чебоксары. Надо сказать, что в советский период г. Чебоксары был одним из ведущих центров электротехнической промышленности, который берет своё начало в грозном 1941 году. Именно в 1941 году в город Чебоксары с началом Великой Отечественной войны были эвакуированы цеха Харьковского электромеханического завода (ХЭМЗ) и Ленинградского завода «Электрик», которые и стали основой Чебоксарского электроаппаратного завода (ЧЭАЗ). В период своего расцвета ЧЭАЗ имел две производственных площадки в городе, фактически два огромных завода. К сожалению, сегодня осталась только одна площадка, вторая. Первая площадка, с которой и начинался ЧЭАЗ, сегодня переоборудована в офисное здание. Позже появился Чебоксарский завод электроизмерительных механизмов (ЧЗЭИМ), Чебоксарский электромеханический завод, завод «Чувашкабель».
Володя! Добрый вечер!
Спасибо большое. Работу посмотрел. Восхищён работоспособностью автора и его самоотверженностью. Автор молодец.
Относительно существа работы.
Нет определения информации применительно к концепциям социального взаимодействия.
Это существенно ослабляет ценность сделанных выводов.
В 1927 г. Анри Бергсон получил Нобелевскую премию по литературе за работы в области философии.
Суть его идеи заключается в том, что внутренний мир человека разворачивается не в парадигме «пространство — время», а совершенно в других измерениях. В связи с этим содержание проблемы защиты информации с точки зрения социальной существенно отличается от проблемы защиты информации в субъективном измерении.
…
Ещё раз спасибо за доставленное удовольствие.
Всё началось два дня назад, когда я прочитал на Хабре статью «Космические проекты от Индии: высадка на Луну, венерианский орбитальный спутник и орбитальная станция. Это реально?»: