Helmut Giese
2024-10-10 19:17:51 UTC
Hello out there,
I very much like TkPath and am trying to implement some control
widgets based on it. But I stumbled upon a problem: It seems that
there is no TkPath equivalent to the 'arc' command of the regular Tk
canvas. Below is a simplified example from the TkLib's
'controlwidgets' package:
----
package require Tk
package require tkpath
proc mkGUI {parent} {
set dialcolor lightgreen
set width [$c cget -width]
set xcentre [expr {$width*0.5}]
set ycentre [expr {$width*1.4}]
set t 1.15
set c [tkp::canvas $parent.c -width 250 -height 150 \
-background gray50]
pack $c
$c create arc \
[expr {$xcentre-$width*$t}] [expr {$ycentre-$width*$t}] \
[expr {$xcentre+$width*$t}] [expr {$ycentre+$width*$t}] \
-start 70.5 -extent 37 -style arc -outline $dialcolor \
-width [expr {$ycentre*0.245}]
return $c
}
set c [mkGUI ""]
----
Any ideas how to accomplish the same with TkPath would be highly
appreciated.
Helmut
I very much like TkPath and am trying to implement some control
widgets based on it. But I stumbled upon a problem: It seems that
there is no TkPath equivalent to the 'arc' command of the regular Tk
canvas. Below is a simplified example from the TkLib's
'controlwidgets' package:
----
package require Tk
package require tkpath
proc mkGUI {parent} {
set dialcolor lightgreen
set width [$c cget -width]
set xcentre [expr {$width*0.5}]
set ycentre [expr {$width*1.4}]
set t 1.15
set c [tkp::canvas $parent.c -width 250 -height 150 \
-background gray50]
pack $c
$c create arc \
[expr {$xcentre-$width*$t}] [expr {$ycentre-$width*$t}] \
[expr {$xcentre+$width*$t}] [expr {$ycentre+$width*$t}] \
-start 70.5 -extent 37 -style arc -outline $dialcolor \
-width [expr {$ycentre*0.245}]
return $c
}
set c [mkGUI ""]
----
Any ideas how to accomplish the same with TkPath would be highly
appreciated.
Helmut