Intr - imagiihm.imag.fr/fberard/ens/ref/TclTk.pdf · 2002-10-14 · Script Tcl séquence de...
Transcript of Intr - imagiihm.imag.fr/fberard/ens/ref/TclTk.pdf · 2002-10-14 · Script Tcl séquence de...
Intr
od
uct
ion
à T
cl/T
k
Fra
nço
is B
érar
d( http://iihm.imag.fr/fberard/)
d’a
prè
s Jo
hn
Ou
ster
ho
ut
Oct
ob
re 2
002
Qu
'est
-ce
qu
e
Tc
l/Tk
?
I
NT
RO
DU
CT
ION
À
T
CL
/T
K
-
2
-
Qu
'est
-ce
qu
e T
cl/T
k ?
•T
cl :
lang
age
de p
rogr
amm
atio
n in
terp
rété
•T
k : e
xten
sion
de
Tcl
pou
r le
s in
terf
aces
gra
phiq
ues
•A
uteu
r : J
ohn
Ous
terh
out (
Ber
kele
y U
nive
rsity
, pui
s Su
n M
icro
syst
ems,
pu
is S
crip
tics,
pui
s...)
•D
omai
ne p
ublic
(co
de s
ourc
e di
stri
bué)
http://tcl.sourceforge.net/
http://tcl.activestate.com/
Qu
'est
-ce
qu
e
Tc
l/Tk
?
I
NT
RO
DU
CT
ION
À
T
CL
/T
K
-
3
-
•M
ulti-
plat
e-fo
rme
◊U
NIX
(Po
six
/ X-W
indo
w)
◊M
acin
tosh
(cl
assi
c, X
-Win
dow
sou
s O
S-X
)◊
Win
dow
s (3
.1 /
95 /
NT
/ 2K
/ ...
)
•Fa
cile
men
t ext
ensi
ble
(“gl
ue la
ngag
e”)
•N
ombr
euse
s ex
tens
ions
par
des
con
trib
utio
ns e
xtér
ieur
es (
nouv
eaux
w
idge
ts, g
roup
war
e, r
ésea
u, 3
D, b
ase
de d
onné
es, .
..)
•R
éfér
ence
en
ligne
http://iihm.imag.fr/fberard/ens/ref/TclTk8.4.0/
•T
utor
iel e
n lig
ne
http://www.msen.com/~clif/TclTutor.html
Le
lan
ga
g
e
Tc
l
I
NT
RO
DU
CT
ION
À
T
CL
/T
K
-
4
-
Le
lan
gag
e T
cl
App
rent
issa
ge e
n 2
phas
es :
•L
es r
ègle
s du
lang
age
Sim
ple
mai
s dé
rout
ant
•L
a “b
iblio
thèq
ue”
de f
onct
ions
Se d
écou
vre
au f
ur e
t à m
esur
e de
s be
soin
s
Le
lan
ga
g
e
Tc
l
I
NT
RO
DU
CT
ION
À
T
CL
/T
K
Les
règ
les
du
lan
ga
g
e
-
5
-
LE
S R
ÈG
LE
S D
U L
AN
GA
GE
•Sc
ript
Tcl
séqu
ence
de
com
man
des
com
man
des
sépa
rées
par
des
poi
nts-
virg
ules
ou
reto
ur à
la li
gne
•C
omm
ande
Tcl
un o
u pl
usie
urs
mot
s sé
paré
s pa
r de
s es
pace
sle
pre
mie
r m
ot :
le n
om d
e la
com
man
dele
s au
tres
mot
s : l
es a
rgum
ents
set a 22; set b33
set a 22
set b 23
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
es r
ègle
s d
u la
ng
age
Éva
luat
ion
d'un
e co
mm
ande
- 6
-
Éva
luat
ion
d'u
ne
com
man
de
Pré
proc
esse
ur
Trai
tant
de
la c
omm
andeC
om
man
de
Mo
ts
Rés
ult
atSép
are
les
mot
s,ef
fect
ue le
s su
bstit
utio
ns
Inte
rprè
te le
s m
ots,
prod
uit u
n ré
sulta
t
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
es r
ègle
s d
u la
ng
age
Arg
umen
ts-
7 -
Arg
um
ents
•L
e pr
épro
cess
eur
ne f
ait a
ucun
e év
alua
tion
des
argu
men
ts
C:x = 4
y = x+10;
// y est 14
Tcl:
set x 4
set y x+10
# y est "x+10"
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
es r
ègle
s d
u la
ng
age
Arg
umen
ts-
8 -
•L
es c
omm
ande
s as
soci
ent d
iffé
rent
es s
éman
tique
s au
x ar
gum
ents
set length 10
# length est un nom de variable
string length length
# length (1er) est une "sous-commande"
# length (2ème) est une chaîne de caractères
llength length
# length est une liste
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
es r
ègle
s d
u la
ng
age
Sub
stitu
tion
de v
aria
ble
- 9
-
Su
bst
itu
tio
n d
e va
riab
le
•Sy
ntax
e : $identificateur
•Id
entifi
cate
ur :
lettr
es o
u ch
iffr
es o
u so
ulig
nés
•Pe
ut a
ppar
aîtr
e n'
impo
rte
où d
ans
un m
ot
# exemple de commande
résultat
set b 66
66
set a b
b set a $b
66
set a $b+$b+$b
66+66+66
set a $b.3
66.3
set a $b4
erreur: variable inconnue
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
es r
ègle
s d
u la
ng
age
Sub
stitu
tion
de c
omm
ande
- 10
-
Su
bst
itu
tio
n d
e co
mm
and
e
•Sy
ntax
e : [script]
•E
xécu
te le
scr
ipt,
subs
titue
le r
ésul
tat
•Pe
ut a
ppar
aîtr
e n'
impo
rte
où d
ans
un m
ot
# exemples de commande
résultat
set b 8
8 set a [expr $b+2]
10
set a "b-3 is [expr $b-3]"
b-3 is 5
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
es r
ègle
s d
u la
ng
age
Con
trôl
e de
la s
truc
ture
des
mot
s-
11 -
Co
ntr
ôle
de
la s
tru
ctu
re d
es m
ots
Les
mot
s so
nt s
épar
és p
ar d
es e
spac
es e
t des
poi
nts-
virg
ules
, MA
IS :
•L
es g
uille
met
s em
pêch
ent l
a sé
para
tion
des
mot
s
set a "un mot avec des espaces"
•L
es a
ccol
ades
em
pêch
ent l
a sé
para
tion
des
mot
s et
les
subs
titut
ions
set a {set a [expr $a+1]}
# a est "set a [expr $a+1]"
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
es r
ègle
s d
u la
ng
age
Con
trôl
e de
la s
truc
ture
des
mot
s-
12 -
•L
'ant
isla
sh “
bana
lise”
les
cara
ctèr
es s
péci
aux
set a un\ mot\ avec\ \$
# a est "un mot avec $"
•L
es s
ubst
itutio
ns n
e ch
ange
nt p
as la
str
uctu
re d
es m
ots
set a "un mot"
set b $a
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
es r
ègle
s d
u la
ng
age
Tabl
eaux
ass
ocia
tifs
- 13
-
Tab
leau
x as
soci
atif
s
# exemples de commande
résultat
set x(fred) 44
set x(2) [expr $x(fred)+6]
set x(fred,12) 66
array names x
fred 2 fred,12
array size x
3
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
a b
iblio
thèq
ue
Tcl
- 14
-
LA
BIB
LIO
TH
ÈQ
UE T
CL
Exp
ress
ions
Stru
ctur
es d
e co
ntro
lePr
océd
ures
Man
ipul
atio
n de
list
esA
utre
...
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
a b
iblio
thèq
ue
Tcl
Exp
ress
ions
- 15
-
Exp
ress
ion
s
•M
ême
styl
e qu
'en
C, p
lus
des
opér
atio
ns s
ur le
s ch
aîne
s
•L
es s
ubst
itutio
ns o
nt li
eu d
ans
les
expr
essi
ons
•U
tilis
ées
par expr
, mai
s au
ssi d
'aut
res
com
man
des
com
me if
, while.
# exemples de commande
résultat
set b 5
5 expr ($b * 4) -3
17
expr $b<=2
0 set b [expr $b * [fac 4]]
120
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
a b
iblio
thèq
ue
Tcl
Exp
ress
ions
- 16
-
•C
hoix
ent
ier
/ flot
tant
impl
icite
# exemples de commande
résultat
expr 3 / 2
1 expr 3 / 2.0
1.5
set a 2
expr 3 / double($a)
1.5
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
a b
iblio
thèq
ue
Tcl
Str
uctu
res
de c
ontr
ôle
- 17
-
Str
uct
ure
s d
e co
ntr
ôle
Des
com
man
des
qui p
renn
ent d
es s
crip
ts T
cl e
n ar
gum
ent :
le
s st
ruct
ures
de
cont
rôle
ne
font
pas
par
tie d
e la
syn
taxe
de
Tcl
if {$x < 3} {
set x 3
} # nom de la commande : “if”
# premier argument: “$x < 3”
# second argument: “set x 3”
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
a b
iblio
thèq
ue
Tcl
Str
uctu
res
de c
ontr
ôle
- 18
-
Com
man
des
de s
truc
ture
de
cont
rôle
ifswitch
for
break
foreach
continue
while
eval
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
a b
iblio
thèq
ue
Tcl
Pro
cédu
res
- 19
-
Pro
céd
ure
s
•L
a co
mm
ande
proc
défin
it un
e pr
océd
ure
•L
es p
rocé
dure
s so
nt a
ppel
ées
com
me
les
com
man
des
de la
bili
othè
que
Tcl
puts [sub1 3]
=> 2
proc sub1 { x } { return [expr $x - 1] }
nom lis
te d
es n
oms
des
argu
men
ts
corp
s de
la p
roc
dure
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
a b
iblio
thèq
ue
Tcl
Pro
cédu
res
- 20
-
•L
es v
aria
bles
d’u
ne p
rocé
dure
s so
nt lo
cale
s pa
r dé
faut
. Acc
ès a
ux
vari
able
glo
bale
s gr
âce
à “ global”
.
proc toto { } {
global b
set a 10
set b 20
} set a 1; set b 2
toto
puts “$a $b”
=> 1 20
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
a b
iblio
thèq
ue
Tcl
Pro
cédu
res
- 21
-
•Pa
ssag
e de
par
amèt
res
“par
réf
éren
ce”:
upvar
proc test { var1Name var2 } {
upvar $var1Name var1
set var1 1 ; set var2 2
} set var1 0 ; set var2 0
test var1 var2
puts “var1: $var1 var2: $var2”
=> var1: 1 var2: 0
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
a b
iblio
thèq
ue
Tcl
Pro
cédu
res
- 22
-
•V
aleu
r pa
r dé
faut
des
arg
umen
ts
proc decr { varName {y 1}} {
upvar $varName v
return [set v [expr $v - $y]]
} # on peut appeler “decr” avec un seul argument,
# dans ce cas “y” prend pour valeur “1”
set count 10
decr count
=> 9
decr count 3
=> 6
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
a b
iblio
thèq
ue
Tcl
Pro
cédu
res
- 23
-
•N
ombr
e d'
argu
men
ts v
aria
ble
: nom
mer
le d
erni
er a
rgum
ent “
args
”, il
co
ntie
ndra
la li
ste
(peu
t êtr
e vi
de)
des
argu
men
ts.
proc Addition { a b args } {
set sum [expr $a + $b]
foreach v $args {
incr sum $v
} return $sum
}
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
a b
iblio
thèq
ue
Tcl
List
es-
24 -
Lis
tes •
Plus
ieur
s él
émen
ts (
éven
tuel
lem
ent z
éro)
sép
arés
par
des
esp
aces
rouge vert bleu
•A
ccol
ades
et a
ntis
lash
per
met
tent
de
grou
per
a b {c d e} f
# liste de 4 éléments, le 3ème élément est lui-même une liste
un\ mot deux trois
# liste de 3 éléménts, le premier élément est “un mot”
Le
lan
gag
e T
clIN
TR
OD
UC
TIO
N À
TC
L/T
KL
a b
iblio
thèq
ue
Tcl
List
es-
25 -
•C
omm
ande
de
man
ipul
atio
n de
list
es
concat
linsert
lreplace
foreach
list
lsearch
lappend
llength
lsort
lindex
lrange
lindex {a b {c d e} f} 2
=> c d e
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
K
- 26
-
La
bib
lioth
èqu
e T
k
L'e
xten
sion
de
Tcl
la
plus
con
nue
et u
tilis
ée,
la s
eule
à ê
tre
dist
ribu
ée
avec
Tcl
.
Fonc
tion
: boî
te à
out
il po
ur la
con
stru
ctio
n d’
inte
rfac
es g
raph
ique
s
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KP
rin
cip
es-
27 -
PR
INC
IPE
S
•D
iffé
rent
es c
lass
es d
e “w
idge
ts”
(win
dow
gad
get)
button, scrollbar, entry, ...
•C
omm
ande
s de
cré
atio
n de
wid
get
button .b -text "Ok"
•C
omm
ande
s de
rec
onfig
urat
ion
de w
idge
t
.b configure -text "Stop"
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KP
rin
cip
es-
28 -
•G
estio
n du
pla
cem
ent :
le "
plac
er"
et le
"pa
cker
"
pack .b -side bottom
•C
omm
ande
s de
ges
tion
des
évén
emen
ts
bind all <Enter> {.b invoke}
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KP
rin
cip
esC
lass
es d
e W
idge
t-
29 -
Cla
sses
de
Wid
get
Une
cla
sse
de W
idge
t défi
nit l
'asp
ect e
t le
com
port
emen
t (lo
ok a
nd f
eel)
des
fenê
tres
de
cette
cla
sse.
Cla
sses
défi
nies
par
Tk
frame
menubutton
label
menu
button
message
checkbutton
entry
radiobutton
text
canvas
scrollbar
scale
listbox
toplevel
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KP
rin
cip
esLa
hié
rarc
hie
de w
idge
ts-
30 -
La
hié
rarc
hie
de
wid
get
s
.list
box
.men
u.s
crol
lbar
.
.men
u.fi
le.m
enu.
help
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KP
rin
cip
esTy
pes
de fe
nêtr
es-
31 -
Typ
es d
e fe
nêt
res
.list
box
.men
u.s
crol
lbar
.
.men
u.fi
le.m
enu.
help
.dlg
.dlg
.msg
.dlg
.ok
.dlg
.ann
ule
Fen
être
pri
nci
pal
e
Fen
être
“to
p-l
evel
”
Fen
être
s in
tern
es
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
réat
ion
de w
idge
ts-
32 -
MIS
E E
N O
EU
VR
E
Cré
atio
n d
e w
idg
ets
•To
ut w
idge
t a u
ne c
lass
e (b
utto
n, s
collb
ar, e
tc...
)
•Il
exi
ste
une
com
man
de T
cl p
our
chaq
ue c
lass
eel
le a
le m
ême
nom
que
la c
lass
eel
le c
rée
des
inst
ance
s de
cet
te c
lass
ebutton
.a.b -text Quit
scrollbar
.x
-orient vertical
nom
de
la c
lass
e
nom
de
la f
enêt
re
opti
ons
deco
nfig
urat
ion
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eO
ptio
ns d
e co
nfigu
ratio
n-
33 -
Op
tio
ns
de
con
fig
ura
tio
n
•C
haqu
e cl
asse
de
wid
get a
un
ense
mbl
e d’
optio
ns q
ui lu
i son
t ap
plic
able
s
•B
eauc
oup
d'op
tions
son
t com
mun
es à
plu
sieu
rs c
lass
es
button
.b -text
Ok
message
.m -text
Valeur
•C
erta
ines
opt
ions
ont
une
sig
nific
atio
n di
ffér
ente
sel
on la
cla
sse
button
.b -command {exit 0}
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eO
ptio
ns d
e co
nfigu
ratio
n-
34 -
•C
erta
ines
opt
ions
son
t spé
cifiq
ues
à un
e cl
asse
par
ticul
ière
scale
.s-from 10 -to 20
•Q
uand
elle
s ne
son
t pas
spé
cifié
es à
la c
réat
ion
du w
idge
t, de
s va
leur
s pa
r dé
faut
(ra
ison
nabl
es)
sont
util
isée
s.
•C
erta
ines
opt
ions
des
“to
plev
el”
sont
gér
ées
par
le g
estio
nnai
re d
e fe
nêtr
e du
sys
tèm
e (w
indo
ws
man
ager
): wm
wm title . “My Application”
wm geometry .t 320x200+12+100
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
ontr
ôle
de la
dis
posi
tion
des
wid
gets
à l’
écra
n-
35 -
Co
ntr
ôle
de
la d
isp
osi
tio
n d
es w
idg
ets
à l’é
cran
•G
éré
par
les
"geo
met
ry m
anag
er",
non
pas
par
les
wid
gets
.
•L
es w
idge
ts n
'app
arai
ssen
t pas
sur
l'éc
ran
tant
qu'
ils n
e so
nt p
as "
géré
s".
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
ontr
ôle
de la
dis
posi
tion
des
wid
gets
à l’
écra
n-
36 -
"geo
met
ry m
anag
er"
=
algo
rith
me
pour
arr
ange
r le
s fe
nêtr
es e
scla
ves
par
rapp
ort à
leur
fen
être
maî
tre.
Tai
lle d
ésir
éepa
r l'e
scla
vePa
ram
ètre
s du
prog
ram
meu
rT
aille
et p
ositi
ondu
maî
tre
Tai
lle e
t pos
ition
de l'
escl
ave
Tai
lle d
ésir
éepo
ur le
maî
tre
Geo
met
ryM
anag
er
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
ontr
ôle
de la
dis
posi
tion
des
wid
gets
à l’
écra
n-
37 -
Rel
atio
n m
aîtr
e -
escl
ave
•Pa
r dé
faut
c’e
st là
mêm
e qu
e “p
aren
t - d
esce
ndan
t”
•Pe
ut ê
tre
mod
ifiée
par
l’op
tion
“ -in
” de
s ge
stio
nnai
res
de g
éom
étri
e
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
ontr
ôle
de la
dis
posi
tion
des
wid
gets
à l’
écra
n-
38 -
Le
"pla
ceur
"
•Si
mpl
e à
utili
ser,
mai
s ne
trai
te q
ue le
s ca
s si
mpl
es.
•To
us le
s es
clav
es s
ont p
lacé
s in
divi
duel
lem
ent p
ar r
appo
rt à
leur
maî
tre
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
ontr
ôle
de la
dis
posi
tion
des
wid
gets
à l’
écra
n-
39 -
Les
dif
fére
ntes
éta
pes:
•D
éfini
r la
pos
ition
de
l’an
cre
(abs
olue
ou
rela
tive)
dan
s le
maî
tre
-x -y -relx -rely
•D
éfini
r le
poi
nt d
’anc
rage
du
wid
get s
ur l’
ancr
e
-anchor (c|n|ne|e|se|s|sw|w|nw)
•D
éfini
r la
taill
e (a
bsol
ue o
u re
lativ
e) d
u w
idge
t
-width -height -relwidth -relheight
n sseene
nw w sw
c
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
ontr
ôle
de la
dis
posi
tion
des
wid
gets
à l’
écra
n-
40 -
place .x -x 0 -y 0
place .x -relx 0.5 -y 1.0c -anchor n
place .x -relx 0.5 -rely 0.5
place .x -relheight 0.5 -relwidth 0.5
-height 3c -anchor center
-relx 0 -rely 0.5
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
ontr
ôle
de la
dis
posi
tion
des
wid
gets
à l’
écra
n-
41 -
Le
"pac
keur
"
•Pl
ace
les
wid
gets
rel
ativ
emen
t les
un
par
rapp
ort a
ux a
utre
s
•Pe
rmet
des
age
ncem
ents
plu
s co
mpl
exes
qu’
avec
le p
lace
ur
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
ontr
ôle
de la
dis
posi
tion
des
wid
gets
à l’
écra
n-
42 -
Les
dif
fére
ntes
éta
pes:
Pour
tous
les
escl
aves
, dan
s l'o
rdre
:
1. C
hois
it un
côt
é du
maî
tre
2. C
oupe
une
tran
che
du m
aîtr
e
3. A
gran
dit l
'esc
lave
pou
r re
mpl
ir la
tran
che
(opt
ionn
el)
4. P
ositi
onne
l'es
clav
e da
ns la
tran
che
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
ontr
ôle
de la
dis
posi
tion
des
wid
gets
à l’
écra
n-
43 -
Ava
ntag
es d
u pa
cker
:
•C
onsi
dère
les
rela
tions
ent
re e
scla
ves
◊L
igne
s et
col
onne
s de
wid
gets
fac
iles
à ré
alis
er◊
Aju
ste
l'arr
ange
men
t glo
bal q
uand
un
escl
ave
dem
ande
une
m
odifi
catio
n de
taill
e
•C
alcu
le la
taill
e dé
siré
e po
ur le
maî
tre
◊Ju
ste
asse
z gr
and
pour
tous
les
escl
aves
◊A
just
e lo
rsqu
e le
s es
clav
es c
hang
ent l
eur
taill
e◊
Aut
oris
e un
e ge
stio
n du
pla
cem
ent h
iéra
rchi
que
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
ontr
ôle
de la
dis
posi
tion
des
wid
gets
à l’
écra
n-
44 -
Le
“gri
ddeu
r” ?
Idéa
l pou
r al
igne
r le
s w
idge
ts d
ans
un ta
blea
u (l
igne
s / c
olon
nes)
.
grid .b -column 2 -colspan 4 -row 10 ...
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
omm
ande
de
wid
get
- 45
-
Co
mm
and
e d
e w
idg
et
•Po
ur to
ut w
idge
t cré
é, u
ne c
omm
ande
Tcl
aya
nt le
mêm
e no
m e
st
égal
emen
t cré
ée.
Cet
te c
omm
ande
per
met
de
reco
nfigu
rer
et m
anip
uler
le w
idge
t
button .a.b
.a.b configure -relief sunken
.a.b invoke
scrollbar .a.s
.a.s set 100 10 5 14
set toto [.a.s get]
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eC
omm
ande
de
wid
get
- 46
-
•So
us-c
omm
ande
s co
mm
unes
à to
us le
s w
idge
t : “configure”
et “
cget
”
.x configure -option arg ...
.x cget -option
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eG
estio
n de
s év
énem
ents
- 47
-
Ges
tio
n d
es é
vén
emen
ts
•A
ssoc
iatio
n co
mm
e op
tion
de w
idge
t
button .a.b -command exit
scrollbar .a.s -command ".y yview"
•A
ssoc
iatio
n ex
plic
ite
bind .t a "insert a"
bind Button <3> "help %W"
bind .t <Any-KeyPress> "insert %A"
bind all <Control-q> "quit"
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eA
utre
s se
rvic
es-
48 -
Au
tres
ser
vice
s
•D
estr
uctio
n de
wid
gets
destroy .x
•In
form
atio
n su
r le
s fe
nêtr
es à
l’ex
écut
ion
winfo width .x
# différent de l’option “-width” à cause du geometry manager
•G
estio
n du
foc
us d
u cl
avie
r
focus .x.y
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eA
utre
s se
rvic
es-
49 -
•Sé
lect
ion
cour
ante
selection get
•C
omm
ande
s du
ges
tinna
ire
de f
enêt
res
syst
ème.
wm title . "Edition de main.c"
wm geometry . 320x200
wm iconify .
wm resizable . 0 0
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eA
utre
s se
rvic
es-
50 -
•Fe
nêtr
e m
odal
es
grab .x
grab release .x
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KM
ise
en o
euvr
eA
utre
s se
rvic
es-
51 -
•U
tilis
atio
n de
la b
iblio
thèq
ue d
e w
idge
ts T
k
com
man
defo
nctio
n
tk_g
etO
penF
iletk
_get
Sav
eFile
tk
_cho
oseD
irect
ory
Ouv
re u
ne b
oîte
de
séle
ctio
n de
fich
ier
(pou
r la
lect
ure
ou la
sau
vega
rde
ou le
cho
ix d
’un
répe
rtoi
re)
tk_m
essa
geB
oxA
ffich
e un
mes
sage
dan
sun
e bo
îte d
e di
alog
ue
tk_o
ptio
nMen
uA
ffich
e un
bou
ton
fais
ant a
ppar
aîtr
eun
men
u dé
roul
ant q
uand
on c
lique
des
sus
tk_p
opup
Fait
appa
raîtr
e un
men
u dé
roul
ant à
un
e po
sitio
n (x
,y)
de l’
écra
n
tk_c
hoos
eCol
orA
ffich
e un
e bo
îte d
ech
oix
de c
oule
ur
tk_d
ialo
gA
ffich
e un
e bo
îte d
e di
alog
ue a
vec
choi
x (V
alid
er /
Ann
uler
, oui
/ no
n).
La
bib
lioth
èqu
e T
kIN
TR
OD
UC
TIO
N À
TC
L/T
KE
xem
ple
s-
52 -
EX
EM
PL
ES
La
dém
onst
ratio
n “w
idge
t” in
clue
dan
s la
dis
trib
utio
n de
Tcl
/Tk
•So
us M
acO
S
Dossier Système:Extensions:Tool Command Langage:Tk8.3:demos:widget
•So
us U
NIX
/usr/local/lib/tk8.3/demos/widget
•So
us M
S W
indo
ws
c:\Program Files\Tcl\lib\tk8.3\demos\widget.tcl
Tru
cs &
ast
uce
sIN
TR
OD
UC
TIO
N À
TC
L/T
KR
end
re u
n s
crip
t ex
écu
tab
le-
53 -
Tru
cs &
ast
uce
s
RE
ND
RE U
N S
CR
IPT E
XÉ
CU
TA
BL
E
•So
us M
acO
S U
tilis
er l’
appl
icat
ion
“Dra
g &
Dro
p T
clet
s”
•So
us M
S W
indo
ws
◊C
réer
un
racc
ourc
i ver
s w
ish
◊M
odifi
er le
s pr
orié
tés
du r
acco
urci
: ajo
uter
le n
om d
u sc
ript
en
fin
de c
omm
ande
, mod
ifier
le c
hem
in p
ar d
éfau
t.
Tru
cs &
ast
uce
sIN
TR
OD
UC
TIO
N À
TC
L/T
KR
end
re u
n s
crip
t ex
écu
tab
le-
54 -
•So
us U
NIX
◊In
diqu
er le
“sh
ell”
à u
tilis
er s
ur la
pre
miè
re li
gne
du s
crip
t
#!/usr/local/bin/wish
... ou
mie
ux
#!/bin/sh
#\
exec wish “$0” “$@”
...
◊R
endr
e ex
écut
able
le fi
chie
r qu
i con
tient
le s
crip
t
chmod a+x <nom du fichier>
Tru
cs &
ast
uce
sIN
TR
OD
UC
TIO
N À
TC
L/T
KL
es é
dit
eurs
de
scri
pts
- 55
-
LE
S É
DIT
EU
RS D
E S
CR
IPT
S
Tout
édi
teur
de
text
e pe
ut ê
tre
utili
sé,
mai
s ce
rtai
ns é
dite
urs
offr
ent
la co
lora
tion
synt
axiq
ue, l
’ind
ex d
es p
rocé
dure
s, e
tc...
•M
acO
SA
lpha
: http://alpha.olm.net/
•U
NIX
Em
acs,
NE
dit: http://nedit.org/
•M
S W
indo
ws
Text
Pad:
http://www.textpad.com/
, si fi
chie
r de
syn
taxe
néc
essa
ire:
http://iihm.imag.fr/fberard/ens/ref/TclTk8.3.3/tcltk.syn
Réf
éren
ces
INT
RO
DU
CT
ION
À T
CL
/TK
- 56
-
Réf
éren
ces
Pag
es o
ffici
elle
s de
Tcl
Tk
(tél
écha
rgem
ent d
u lo
gici
el)
http://tcl.sourceforge.net/
http://tcl.activestate.com/
Doc
umen
tatio
n en
-lign
ehttp://iihm.imag.fr/fberard/ens/ref/TclTk8.3.3/
Tuto
riel
http://www.msen.com/~clif/TclTutor.html