⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).dchars ( )
⇨ MENU ⇨ MODULES ⇨ tkinter ⇨ controles standards ⇨ Canvas
tkinter.Canvas ( ).dchars ( )
DESCRIPTION.
Supprime un certain nombre de caractères dans un élément texte d'une zone de dessin.
SYNTAXE.
CAN_Toile.dchars ( element , debut , fin )
CAN_Toile ⇨ instance quelconque de tkinter.Canvas ( ) [ OBLIGATOIRE ]
.dchars ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
element ⇨ élément texte à modifier [ OBLIGATOIRE ]
debut ⇨ index du premier caractère à supprimer [ OBLIGATOIRE ]
fin ⇨ index du dernier caractère à supprimer [ optionnel ]
REMARQUES.
element peut être un int ( ) représentant l'identifiant numérique, un str ( ) indiquant un tag ou la variable, désignant un élément texte, c'est à dire créé uniquement avec la méthode tkinter.Canvas ( ).create_text ( ).
debut est un int ( ) ou l'un des str ( ) d'index spécifiques indiquant l'index du premier caractère à supprimer.
fin est un int ( ) ou l'un des str ( ) spécifiques indiquant l'index du premier caractère à supprimer.
debut et de fin peut être la représentation d'un index spécifique. Les index spécifiques sont des constantes exprimées sous la forme d'un str ( ) et peuvent prendre l'une des valeurs suivantes :
- "insert", correspond à l'index du curseur d'insertion ;
- "sel.first", correspond à l'index du premier caractère de la sélection dans le texte ;
- "sel.last", correspond à l'index du dernier caractère de la sélection dans le texte ;
- "end", correspond à l'index du dernier caractère de la sélection dans le texte ;
- "@x,y", correspond à l'index du caractère à la position du pixel aux coordonnées (x,y) (voir tkinter.Canvas ( ).index ( )).
Si l'élément texte element ne possède pas de sélection au moment de l'appel, les index spécifiques "sel.first", "sel.last", feront lever une exception.
Tous les caractères compris entre l'index debut et l'index fin inclus sont supprimés de la chaine de caractères composant l'élément texte element. L'affichage de l'élément texte element est mis à jour avec son nouveau contenu. Si fin est omis, seul le caractère à la position debut sera supprimé.
Rappel : le premier caractère d'une chaine de caractères est à l'index 0.
EXEMPLE.
import tkinter
def FNC_Ajuster ( event ) :
FNC_Annuler ( )
CAN_Carte.select_from ( 1 , SCA_Cursor.get ( ) )
CAN_Carte.select_adjust ( 1 , SCA_Pivot.get ( ) )
def FNC_Annuler ( ) :
CAN_Carte.select_clear ( )
def FNC_Curseur ( event ) :
CAN_Carte.icursor ( 1 , SCA_Cursor.get ( ) )
def FNC_Inserer ( ) :
if TKV_Texte.get ( ) == "" : return
CAN_Carte.insert ( 1 , "insert" , TKV_Texte.get ( ) )
FNC_Curseur ( None )
FNC_Longeur ( )
def FNC_Longeur ( ) :
ktexte = CAN_Carte.itemcget ( 1 , "text" )
SCA_Cursor [ "to" ] = len ( ktexte )
SCA_Pivot [ "to" ] = len ( ktexte )
def FNC_Supprimer ( ) :
if CAN_Carte.select_item ( ) :
CAN_Carte.dchars ( 1 , "sel.first" , "sel.last" )
FNC_Longeur ( )
TKI_Principal = tkinter.Tk ( )
TKV_Texte = tkinter.StringVar ( )
BUT_Quitter = tkinter.Button ( TKI_Principal , text = "Quitter" , command = TKI_Principal.destroy )
BUT_Ajuster = tkinter.Button ( TKI_Principal , text = "Ajuster" , command = lambda : FNC_Ajuster ( None ) )
BUT_Inserer = tkinter.Button ( TKI_Principal , text = "Insérer" , command = FNC_Inserer )
BUT_Effacer = tkinter.Button ( TKI_Principal , text = "Annuler la sélection" , command = FNC_Annuler )
BUT_Supprimer = tkinter.Button ( TKI_Principal , text = "Supprimer la sélection" , command = FNC_Supprimer )
ENT_Texte = tkinter.Entry ( TKI_Principal , textvariable = TKV_Texte , width = 15 )
SCA_Cursor = tkinter.Scale ( TKI_Principal , orient = "horizontal" , length = 120 , command = FNC_Curseur )
SCA_Pivot = tkinter.Scale ( TKI_Principal , orient = "horizontal" , length = 120 , command = FNC_Ajuster )
CAN_Carte = tkinter.Canvas ( TKI_Principal , bg = "white" , height = 100 , width = 200 )
CAN_Carte.create_text ( 100 , 50 , text = "Mon Python à moi.\nUn Python pour tous.\nOrigine NERD" , justify = "center" )
ENT_Texte.bind ( "<Leave>" , lambda event : CAN_Carte.focus_set ( ) )
CAN_Carte.grid ( row = 0 , column = 0 , columnspan = 2 , sticky = "nesw" )
tkinter.Label ( TKI_Principal , text = "Curseur :" , justify = "right" ).grid ( row = 1 , column = 0 , sticky = "se" )
SCA_Cursor.grid ( row = 1 , column = 1 , sticky = "nesw" )
BUT_Ajuster.grid ( row = 2 , column = 0 , sticky = "nesw" )
SCA_Pivot.grid ( row = 2 , column = 1 , sticky = "nesw" )
BUT_Inserer.grid ( row = 3 , column = 0 , sticky = "nesw" )
ENT_Texte.grid ( row = 3 , column = 1 , sticky = "nesw" )
BUT_Effacer.grid ( row = 4 , column = 0 , columnspan = 2 , sticky = "nesw" )
BUT_Supprimer.grid ( row = 5 , column = 0 , columnspan = 2 , sticky = "nesw" )
BUT_Quitter.grid ( row = 6 , column = 0 , columnspan = 2 , sticky = "nesw" )
CAN_Carte.focus_set ( )
CAN_Carte.focus ( 1 )
FNC_Longeur ( )
TKI_Principal.mainloop ( )
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de