После серии статей про svg-виджеты в tcl/tk меня не оставляло чувство какой-то незавершенности. Всматриваясь в проект svgwidgets, стало понятно, что не хватает утилиты с удобным интерфейсом для генерации градиентной заливки. Эта утилита должна быть такой простой и доступной как утилита выбора шрифта (tk::fontchooser show) или утилита подбора цвета (tk_chooseColor):

Кстати, у кого-то может возникнуть вопрос, а как установить русский текст в утилите выбора шрифта. Делается это так:
%set ::tk::fontchooser::S(sampletext) "АаБбЙйШшЩщъЪ01234567890"
Тестовый текст утилита выбора шрифта хранит в глобальной переменной ::tk::fontchooser::S(sampletext).
И тут я вспомнил, что уже разрабатывал GUI для генерации градиентной заливки в графическом редакторе на базе svg-графики:

Оставалось применить имеющийся опыт и дополнить пакет svgwidgets аналогичной утилитой.
В конечном итоге в проект svgwidgets была включена графическая утилита ::gengrad::generateGradient:

На скриншоте слева представлены GUI при формировании линейного градиента (Linear), а справа - радиального градиента (Radial).
При этом дополнительно пришлось использовать пакет scrollutil_tile (он входит в состав пакета tklib).
Интерфейс утилиты ::gengrad::generateGradient интуитивно понятен.
Для предварительного просмотра создаваемого градиента используется холст в правом верхнем углу. Для более детального изучения создаваемой заливки следует использовать кнопку «Просмотр градиента»:

В появившемся окне видна не только сама заливка, но и код, которым создаётся этот градиент. Этот код можно скопировать и использовать в своём скрипте. Именно этот код будет возвращён при нажатии кнопки «Готово»:
%#Запуск утилиты генерации градиента
%set code [::gengrad::generateGradient]
%#Печать возвращаемого значения
%puts $code
gradient create radial -method pad -units bbox -stops { { 0.00 #57f1b3 1.00} { 0.15 #c63e31 1.00} { 0.30 skyblue 1.00} { 0.45 #e8ce51 1.00} { 0.75 skyblue 1.00} { 0.80 #e91c44 1.00} { 0.85 skyblue 1.00} { 0.90 #87ce24 1.00} { 1.00 skyblue 1.00}} -radialtransition {0.50 0.50 0.50 0.50 0.50}
%
Возвращаемый код используется для создания градиента на том или ином холсте:
%#Создание градиента на холсте .c
%set grad1 [.c $code]
%
Созданный градиент теперь может использоваться для заливки графических объектов svg-графики.
Как это происходит на практике, можно посмотреть, запустив примеры скрипт_button_Холст.tcl, скрипт_button_PACK_gradient.tcl, или скрипт_button_PACK_gradient_opacity.tcl (пример скрипт_button_Холст.tcl):

После нажатия кнопки «Готово» в окне «SVGWIDGETS: генерация градиента» пример примет вид:

Для запуска примеров в среде tcl/tk-8.6 можно использовать интерпретаторы из проекта, хранящиеся в папке tclexecomp200. Если вы хотите протестировать среду tcl/tk-9.0, то интерпретаторы берутся из папки tclexecomp902.
В заключении напомним, что для использования пакета svgwidgets требуется наличие одного из пакетов: tko или tkpath.
Содержание:
Часть I. SVG-виджеты для tcl/tk
Часть II. SVG-виджеты для tcl/tk. Градиентная заливка и прозрачность.
Часть III. SVG-виджеты для tcl/tk. Поддержка SVG-файлов.