#!/usr/bin/tclsh lappend auto_path wmx package require Tk package require wmx package require Img # Bild im Fenster mit einem Canvas image create photo uhr -file [file join icons uhr.png] canvas .c .c create image 0 0 -image uhr -anchor nw pack .c -fill both -expand true wm geometry . 273x250 setXwinshape . uhr # Fenster verschieben und schließen bind . <1> { set x [expr {[winfo rootx .] - %X}] set y [expr {[winfo rooty .] - %Y}] } bind . { wm geometry . +[expr {%X+$x}]+[expr {%Y+$y}] } bind . { exit 0 } # Zeiger zeichnen proc malZeiger {winkel radius dicke xoff yoff} { set id [.c create line 0 0 \ [expr {cos($winkel) * $radius}] \ [expr {sin($winkel) * $radius}] \ -fill black -width $dicke -tag zeiger] .c move $id $xoff $yoff } # Drei Zeiger zeichnen proc malZeit {} { set t [clock seconds] scan [clock format $t -format %I] %d stunden scan [clock format $t -format %M] %d minuten scan [clock format $t -format %s] %d sekunden set PI [expr {2*acos(0)}] .c delete zeiger set winkel [expr {($sekunden -15) / 30.0 * $PI}] malZeiger $winkel 27 2 127 171 set winkel [expr {($minuten -15) / 30.0 * $PI}] malZeiger $winkel 100 2 127 125 set winkel [expr {($stunden -2) / 6.0 * $PI}] malZeiger $winkel 80 3 127 125 # In 100 Millisekunden wieder neue Zeigerposition after 1000 malZeit } malZeit