LE WIDGET TEXTE
Le widget texte est une aire qui vous permet de saisir du texte à la façon d'un blocnote.
Ce widget est prticulièrement puissant puisqu'il vous permet, en utilisant les tag de coloriser le texte, ou lui attribuer une police précise pour chaque tag. Je vous renvoi à ce logiciel nommé scripiT ou vous comprendrez en lisant le code comment cela est faisable.
PETIT EDITEUR DE TEXTE TRES SIMPLE
Dans ce petit exemple nous allons voir comment copier, couper, coller et recher du texte dans un widget TEXT.
Voici le code de l'exemple que nous commenterons ensuite :
Preview:
wm title . "essai" wm geometry . 650x400+10+10 pack [frame .f ] -fill x pack [button .f.b1 -text "copier" -command {clipboard clear; clipboard append [selection get]}] -side left pack [button .f.b2 -text "coller" -command {set idx [.t index insert]; .t insert $idx [selection get -selection CLIPBOARD]}] -side left pack [button .f.b3 -text "couper" -command {set owner [selection own]; clipboard append [selection get]; $owner delete sel.first sel.last}] -side left pack [entry .f.e6] -fill both -side left -expand 1 pack [button .f.b4 -text "rechercher" -command {set cherchequoi [.f.e6 get]; set longueurtexte [string length [.f.e6 get]]; set ouca [.t search -- $cherchequoi 0.0 end]; .t tag add sel $ouca "$ouca + $longueurtexte chars" }] -side left pack [button .f.b5 -text "fin"] -side left pack [button .f.b6 -text "b1"] -side left pack [button .f.b7 -text "quit" -command {exit}] -side right pack [text .t] -fill both -expand 1
Pour copier du texte, sélectionnez le avec la souris puis écrivons ces deux commandes :
Pour Coller le texte à partir du presse papier il faut :
Pour couper du texte, cela se fait en trois étapes qui sont :
Enfin, pour Rechercher du texte il faut ces 4 étapes :
EFfacer tout le texte
il suffit d'utiliser la commande delete du début index 0.0 à la fin (end)
.txt1 delete 0.0 end
positionner le curseur a un endroit donné
il suffit de donner les coordonnées ligne.colonne en utilisant la commande ci dessous:
.txt1 mark set insert 1.2
Ici le curseur ira en ligne 1 colonne 2
recuperer l'integralite du texte dans une variable
il suffit d'utiliser la commande get :
set montexte [.txt get 0.0 end]
.
.