Pull to refresh

Comments 32

Дико извиняюсь, но язык называется Tcl/Tk

Вы правы. Но в контексте этого материала первично было Tk, так на автомате и отложилось "Тэ-ка Ти-си-эль" (я учил французский).

Язык - Tcl. Tk - тулкит для GUI. Tcl/Tk - связка языка с тулкитом.

Вы текст почитайте, пожалуйста, поймёте о чем говорил я.

8.4 в 2017 году? Ох и ох. А что не 8.6 и TTk? Он хотя бы выглядит не так убого.

Нет, я понимаю, что по одёжке встречают, я сам писал графические приложения на Tcl/Tk (лет пять тому назад), но даже тогда в моём распоряжении уже был 8.5…

А с чего вы взяли, что 8.4? Из названия "tkBuilder_for_tcl8.4"?
Так это вы не правы. На компьютере стоит все что надо. А "tkBuilder_for_tcl8.4" просто указывает путь, где скачать конструктор.

В принципе, разобравшись с системой построения GUI в Tk, графический построитель особо не нужен, там в полне всё логично.

Если без злой иронии, то спасибо. Как поется "то или еще будет".

С иронией, конечно. Но не злой. Всё таки Tk выглядит достаточно аляповато.
Дело тут не в том, что вид не современный, а просто не хватает выравниваний, отступов, единообразия.
И весь софт, что мне попадался на Tk имеет эти проблемы.
Создаётся ощущение недопиленности.

Насчет аляповатости, выше уже упоминался ТТК. И если посмотреть новые demos, то это ощущение и аляповатость отойдет. Я думаю просто вам попадался относительно устаревшие проекты, которые могли писаться в ручную, поэтому всегда есть проблемы выравниваний, отступов, единообразия. Именно поэтому в свое время мы отложили Tk. А вот сейчас попробовал cс tkBuilder-ом и вроде получается. А недопиленность не в самом Tk/Tcl, а в средствах проектирования. Спасибо за добрую иронию.

И выравнивания и отступы это все есть. Хотя, надо признать, что «голый» Tk выглядит… аскетично (в винде он выглядит как любое другое приложение), но тотже BWidget, вполне себе настраивается. На мой взгляд, по скорости и удобству разработки небольших переносимых графических приложений, мало что может поспорить со связкой tcl/tk (надеюсь поклонники python и Qt меня сейчас не запинают :) ).

А что они (поклонники) должны пинать? Это реальность.

Если использовать tile, то вы не заметите серьезных отличий от нативных приложений.
С позволения автора, вспомнил ещё один подобный продукт — Visual Tcl, проект вполне живой и рабочий (только что проверил). Т.е. если кому нужно для ознакомления с Tcl/Tk, то вполне подойдет http://vtcl.sourceforge.net

Спасибо, ссылка работает. Я тоже проверил — рабочий, но надо набить руку!!! Кстати есть для версии 8.6

Я конечно извиняюсь, но это прекрасный пример того, как не надо делать интерфейсы.


Наверняка ведь в этом интерфейсе нажимаются все кнопки сразу и нет никакой защиты от дурака.
В консоли хоть думать надо перед тем, как жмакнуть что-то, а здесь можно навертеть дел и ничто не остановит.

Наверняка ведь в этом интерфейсе нажимаются все кнопки сразу и нет никакой защиты от дурака.

Это просто голословное заявление. Кто или что вам мешает скачать утилиту и запустить. Вот тогда бы вы и убедились, что и все кнопки нажать одновременно нельзя, что есть защита от дурака. И здесь надо думать, что зачем нажимаешь и что и зачем вводишь. Более того, чтобы нажать, надо мышко подвигать или на клавиатуре поработать.
Ключевое слово в вашем комментарии "Наверное", а это несерьезно.
Должно быть так, я скачал и запустил и оказалося….
И еще здесь речь идет не об проектировании идеального интерфейса для той или иной задачи, а об инструментарии, с помощью которого можно спроектировать и реализовать.

Отчасти вы правы. Старое достаточно дело. Меня как-то миновала участь с Tcl/Tk, хотя на питоне (TKinter кажется?) когда пробовал, но быстро-быстро перелез на wxWindow. Не суть.

Нынче я заглядываюсь и пытаюсь найти время на пощупать Red. При том хочу собрать его сам, так как антивирусня на него жалуется зачем-то, хоть он и open source.

А задачу, которую решает автор, было бы неплохо попытаться поавтоматизировать — просто парсить --help, и пользуясь эвристиками, ну или пошаговыми подсказками запустившего пользователя… сгенерировать гуй для консольной утилиты.

Простые параметры показывать галками, составные (у которых должно быть значение) — полями ввода или выбора файла и так далее (вариантов не 100500). Это был бы номер :)

Как не парадоксально, а вы рассказали как работает сама библиотека облачного токена libls11cloud.so (ls11cloud.dll и т.п.). Когда она инициализируется (в терминах PKCS#11 — C_INITIALIZE), то для доступа к облаку токена требуется ввести пароль (не путить с PIN-кодом токена), и вот тут как раз библиотека и генерирует гуй для ввода пароля на основе анализа какие графические средства установлены на компьютере пользователя.
Да, а сделать универсальное средство для консольных утилит — это неплохою

Да, а сделать универсальное средство для консольных утилит — это неплохо

Полагаю с помощью того же упомянутого Red — несложно.
В чём смысл использовать этого уродца и язык этот скриптовый маргинальный? Есть же pyqt.
Есть многое на свете, друг Горацио, что и не снилось нашим мудрецам

В. Шекспир, "Гамлет"

К примеру, динамическое построение интерфейса и работа с оным (генерация формы ввода данных в БД, как вариант) на tcl/tk делается куда как проще и изщьнее нежели на pyqt (хотя не исключаю, что не до конца «расковырял» эту связку).
Дизайнер tkBuilder_for_tcl8.4 отказывается работать с русскими буквами (можеть я чего не доглядел).

Ларчик открывается просто. Достаточно в файл file.tcl в функции File::WriteTkbFile и File::ReadTkbFile после строки:


fconfigure $fileID -translation binary


вставить следующую строку:
fconfigure $fileID -encoding utf-8


И никаких проблем с «великим, могучим, правдивым и свободным русским языком!» (И.С. Тургенев) больше не будет.

решительно присоединяюсь к автору данного поста!

Я делал аналогичные штуки, в моём случае это был "visual tcl" http://vtcl.sourceforge.net/ и desktop-приложаения я делал на Perl-е

в конце концов я отказался от vtcl в пользу рукописного GUI, но всё же - это был шикарный тул, и сам подход мне очень понравился.

К слову сказать, этот подход также годится и для Python-овского tkinter.
Да-да, визуально рисуете интерфейс в tkBuilder / vtcl - и используете из Питона, Перла, да и из Си++ тоже :)

Sign up to leave a comment.

Articles