X7ROOT File Manager
Current Path:
/usr/share/tk8.5/demos
usr
/
share
/
tk8.5
/
demos
/
📁
..
📄
README
(2.03 KB)
📄
anilabel.tcl
(6.51 KB)
📄
aniwave.tcl
(3.41 KB)
📄
arrow.tcl
(7.8 KB)
📄
bind.tcl
(2.87 KB)
📄
bitmap.tcl
(1.38 KB)
📄
browse
(1.72 KB)
📄
button.tcl
(1.47 KB)
📄
check.tcl
(2.22 KB)
📄
clrpick.tcl
(1.4 KB)
📄
colors.tcl
(4.88 KB)
📄
combo.tcl
(1.94 KB)
📄
cscroll.tcl
(3.31 KB)
📄
ctext.tcl
(4.76 KB)
📄
dialog1.tcl
(660 B)
📄
dialog2.tcl
(613 B)
📄
en.msg
(3.8 KB)
📄
entry1.tcl
(1.35 KB)
📄
entry2.tcl
(2.06 KB)
📄
entry3.tcl
(5.95 KB)
📄
filebox.tcl
(2.2 KB)
📄
floor.tcl
(77.24 KB)
📄
form.tcl
(1.02 KB)
📄
goldberg.tcl
(55.23 KB)
📄
hello
(512 B)
📄
hscale.tcl
(1.46 KB)
📄
icon.tcl
(2.01 KB)
📄
image1.tcl
(1002 B)
📄
image2.tcl
(3.28 KB)
📁
images
📄
items.tcl
(9.5 KB)
📄
ixset
(7.91 KB)
📄
knightstour.tcl
(8.38 KB)
📄
label.tcl
(1.29 KB)
📄
labelframe.tcl
(1.8 KB)
📄
license.terms
(2.16 KB)
📄
mclist.tcl
(3.89 KB)
📄
menu.tcl
(6.57 KB)
📄
menubu.tcl
(4.37 KB)
📄
msgbox.tcl
(1.98 KB)
📄
nl.msg
(6.61 KB)
📄
paned1.tcl
(1.08 KB)
📄
paned2.tcl
(2.18 KB)
📄
pendulum.tcl
(7.46 KB)
📄
plot.tcl
(2.69 KB)
📄
puzzle.tcl
(2.54 KB)
📄
radio.tcl
(2.69 KB)
📄
rmt
(5.22 KB)
📄
rolodex
(8.11 KB)
📄
ruler.tcl
(5.09 KB)
📄
sayings.tcl
(2.21 KB)
📄
search.tcl
(4.29 KB)
📄
spin.tcl
(1.78 KB)
📄
states.tcl
(1.63 KB)
📄
style.tcl
(6.78 KB)
📄
tclIndex
(4.25 KB)
📄
tcolor
(10.99 KB)
📄
text.tcl
(3.34 KB)
📄
textpeer.tcl
(2.13 KB)
📄
timer
(1.09 KB)
📄
toolbar.tcl
(3.19 KB)
📄
tree.tcl
(3.29 KB)
📄
ttkbut.tcl
(3.34 KB)
📄
ttkmenu.tcl
(2.35 KB)
📄
ttknote.tcl
(2.41 KB)
📄
ttkpane.tcl
(3.95 KB)
📄
ttkprogress.tcl
(1.52 KB)
📄
ttkscale.tcl
(1.39 KB)
📄
twind.tcl
(10.57 KB)
📄
unicodeout.tcl
(3.45 KB)
📄
vscale.tcl
(1.44 KB)
📄
widget
(22.83 KB)
Editing: plot.tcl
# plot.tcl -- # # This demonstration script creates a canvas widget showing a 2-D # plot with data points that can be dragged with the mouse. if {![info exists widgetDemo]} { error "This script should be run from the \"widget\" demo." } package require Tk set w .plot catch {destroy $w} toplevel $w wm title $w "Plot Demonstration" wm iconname $w "Plot" positionWindow $w set c $w.c label $w.msg -font $font -wraplength 4i -justify left -text "This window displays a canvas widget containing a simple 2-dimensional plot. You can doctor the data by dragging any of the points with mouse button 1." pack $w.msg -side top ## See Code / Dismiss buttons set btns [addSeeDismiss $w.buttons $w] pack $btns -side bottom -fill x canvas $c -relief raised -width 450 -height 300 pack $w.c -side top -fill x set plotFont {Helvetica 18} $c create line 100 250 400 250 -width 2 $c create line 100 250 100 50 -width 2 $c create text 225 20 -text "A Simple Plot" -font $plotFont -fill brown for {set i 0} {$i <= 10} {incr i} { set x [expr {100 + ($i*30)}] $c create line $x 250 $x 245 -width 2 $c create text $x 254 -text [expr {10*$i}] -anchor n -font $plotFont } for {set i 0} {$i <= 5} {incr i} { set y [expr {250 - ($i*40)}] $c create line 100 $y 105 $y -width 2 $c create text 96 $y -text [expr {$i*50}].0 -anchor e -font $plotFont } foreach point { {12 56} {20 94} {33 98} {32 120} {61 180} {75 160} {98 223} } { set x [expr {100 + (3*[lindex $point 0])}] set y [expr {250 - (4*[lindex $point 1])/5}] set item [$c create oval [expr {$x-6}] [expr {$y-6}] \ [expr {$x+6}] [expr {$y+6}] -width 1 -outline black \ -fill SkyBlue2] $c addtag point withtag $item } $c bind point <Any-Enter> "$c itemconfig current -fill red" $c bind point <Any-Leave> "$c itemconfig current -fill SkyBlue2" $c bind point <1> "plotDown $c %x %y" $c bind point <ButtonRelease-1> "$c dtag selected" bind $c <B1-Motion> "plotMove $c %x %y" set plot(lastX) 0 set plot(lastY) 0 # plotDown -- # This procedure is invoked when the mouse is pressed over one of the # data points. It sets up state to allow the point to be dragged. # # Arguments: # w - The canvas window. # x, y - The coordinates of the mouse press. proc plotDown {w x y} { global plot $w dtag selected $w addtag selected withtag current $w raise current set plot(lastX) $x set plot(lastY) $y } # plotMove -- # This procedure is invoked during mouse motion events. It drags the # current item. # # Arguments: # w - The canvas window. # x, y - The coordinates of the mouse. proc plotMove {w x y} { global plot $w move selected [expr {$x-$plot(lastX)}] [expr {$y-$plot(lastY)}] set plot(lastX) $x set plot(lastY) $y }
Upload File
Create Folder