Aiuta lo sviluppo del sito, condividendo l'articolo con gli amici!

Introduzione a Tkinter Text

Tkinter La visualizzazione del testo è consentita utilizzando il widget di testo, ovvero il testo può essere visualizzato e modificato con vari stili e attributi utilizzando il widget di testo, inoltre supporta immagini e finestre incorporate, i documenti di testo visualizzati possono essere semplici testo o testo formattato e può essere utilizzato anche come editor di testo e il corpo del testo può essere composto da caratteri, segni, finestre incorporate o immagini.

Sintassi:

w =testo (master, opzione,… )

dove il master è la finestra padre e l'opzione è l'elenco delle opzioni che possono essere utilizzate per il widget e le opzioni sono le coppie di valori-chiave che hanno virgole come separatori.

Widget di testo Tkinter

L'elenco di opzioni più comunemente utilizzato per il widget è:

  • bg: Questa opzione rappresenta il colore di sfondo del widget di testo e questo è il valore predefinito.
  • bd: Questo rappresenta la larghezza del bordo che circonda il widget di testo. Il suo valore predefinito è due pixel.
  • cursor: Quando si posiziona il mouse sul widget di testo, viene visualizzato un cursore, ovvero questo cursore.
  • font: Rappresenta il carattere del testo presente nel widget di testo.
  • fg: Rappresenta il colore del testo presente nel widget di testo. Il colore può essere modificato per le regioni contrassegnate. Questa è solo un'opzione predefinita.
  • altezza: Rappresenta l' altezza del widget di testo in righe e la sua misura si basa sulla dimensione del carattere.
  • highlightcolor: Questo rappresenta il colore di evidenziazione del focus quando il focus è nel widget di testo.
  • highlightthickness: Questo rappresenta lo spessore dell'evidenziazione della messa a fuoco. Il valore predefinito per lo spessore dell'evidenziazione è uno. La visualizzazione della luce di messa a fuoco può essere soppressa impostando lo spessore dell'evidenziazione su zero.
  • relief: Ciò fornisce l'aspetto tridimensionale del widget di testo per opzione. Il valore predefinito per il sollievo è SUNKEN.
  • selectbackground: Rappresenta il colore di sfondo da utilizzare durante la visualizzazione del testo selezionato.
  • width: Rappresenta la larghezza del carattere presente nel widget di testo e la sua misura si basa sulla dimensione del carattere.
  • xscrollcommand: Il metodo set() della barra di scorrimento orizzontale è impostato sull'opzione del comando xscroll, che fa scorrere il widget di testo in direzione orizzontale.
  • yscrollcommand: Il metodo set() della barra di scorrimento verticale è impostato sull'opzione del comando xscroll, che fa scorrere il widget di testo in direzione verticale.
  • exportselection: Il testo contenuto nel widget di testo viene selezionato e viene effettuata una selezione nel gestore delle finestre esportandolo nel gestore delle finestre.
  • highlightbackground: Il colore dell'evidenziazione del focus quando il focus non è nel widget di testo.
  • insertbackground: Il colore del cursore di inserimento. Il valore predefinito per questa opzione è nero.
  • insertborderwidth: La dimensione del bordo a tre D che circonda il cursore di inserimento. Il valore predefinito per questa opzione è zero.
  • insertofftime: Durante il ciclo di lampeggio del cursore di inserimento, il numero di millisecondi in cui è spento viene inserito fuori tempo. Il lampeggio può essere soppresso impostando questa scelta a zero. Il valore predefinito per questa opzione è trecento.
  • insertottime: Durante il ciclo di lampeggio del cursore di inserimento, il numero di millisecondi è sul tempo di inserimento. Il lampeggio può essere soppresso impostando questa opzione su zero. Il valore predefinito per questa opzione è seicento.
  • insertwidth: Questa opzione rappresenta la larghezza del cursore di inserimento. Il valore predefinito per questa opzione è due pixel.
  • padx: Internamente, il riempimento viene eseguito a sinistra ea destra dell'area di testo e questa opzione rappresenta la dimensione di questo riempimento. Un pixel è il valore predefinito per questa opzione.
  • pady: Internamente, il riempimento viene eseguito sopra e sotto l'area di testo e questa opzione rappresenta la dimensione di questo riempimento. Il valore predefinito per questa opzione è un pixel.
  • selectborderwidth: Questa opzione rappresenta la larghezza del bordo attorno al testo selezionato.
  • spacing1: C'è spazio in eccesso che è verticale, che è assegnato sopra ogni riga di testo, e questa opzione rappresenta la quantità di quello spazio verticale extra.Se c'è un ritorno a capo, c'è l'aggiunta di spazio solo prima della prima riga. Il valore predefinito per questa opzione è zero.
  • spacing2: C'è spazio in eccesso che è verticale, assegnato tra le righe di testo visualizzate, e questa opzione rappresenta la quantità di quello spazio verticale extra. Il valore predefinito per questa opzione è zero.
  • spacing3: C'è spazio in eccesso che è verticale, assegnato sotto ogni riga di testo, e questa opzione rappresenta la quantità di quello spazio verticale extra. Se c'è un ritorno a capo, c'è un'aggiunta di spazio solo dopo l'ultima riga. Il valore predefinito per questa opzione è zero.
  • state: Gli eventi della tastiera e del mouse ricevono una risposta dai widget di testo e questa risposta è disponibile quando lo stato è impostato sul valore NORMAL. Non c'è risposta se il valore dello stato è impostato su DISABILITATO e il contenuto non può essere modificato a livello di codice.
  • tabs: Questa opzione controlla la posizione del testo in base ai caratteri di tabulazione.
  • wrap: Se le righe da visualizzare sono troppo larghe, sono controllate da questa opzione. Se questa opzione è impostata su WRAP, la riga viene interrotta dopo che l'ultima parola si adatta. Se questa opzione è impostata su CHAR, la riga viene interrotta su qualsiasi carattere.

Metodi di testo di Tkinter

Ci sono diversi metodi che possono essere implementati su oggetti di testo, sono:

  • delete(startindex, (,endindex)): Gli indici nell'intervallo (startindex, (,endindex)) vengono eliminati utilizzando questa opzione. Il carattere specifico con il primo indice viene eliminato se il secondo argomento viene omesso.
  • get(startindex, (,endindex)): Viene restituito l'intervallo di testo o carattere specifico.
  • index(index): In base all'indice dato, passato come argomento, viene restituito il valore assoluto dell'indice.
  • insert(index, (,string)… ): Le stringhe passate come secondo argomento vengono inserite nella posizione specificata dall'indice passato come primo argomento.
  • see(index): Il testo che si trova nella posizione specificata dall'argomento index è visibile; questo metodo restituisce true.

I widget di testo supportano due strutture di supporto. Sono:

  • marks: In ogni testo, usiamo dei segni se vogliamo evidenziare le posizioni tra due caratteri.
    • index(mark): Il mark specifica la riga, la colonna che deve essere restituita.
    • mark_gravity(mark,(,gravity)): Viene restituita la gravità del segno specificato come primo argomento. La gravità per il segno specificato come primo argomento viene impostata se viene specificato il secondo argomento.
    • mark_names(): Vengono restituiti tutti i segni del widget di testo.
    • mark_set(mark,index): Il segno specificato come primo argomento viene informato sulla nuova posizione.
    • mark_unset(mark): Il segno specificato come primo argomento viene rimosso dal widget di testo.
  • Tags: Le aree di testo sono associate a tag dati da tag, il che rende più semplice la modifica delle impostazioni di visualizzazione delle aree di testo. I callback di eventi possono essere associati a specifiche aree di testo utilizzando i tag.
    • tag_add(tagname, startindex(,endindex)… ): La posizione dell'indice iniziale viene contrassegnata utilizzando questo metodo o un intervallo di posizioni definite dall'indice iniziale e dall'indice finale sono taggato usando questo metodo.
    • tag_config: Le proprietà del tag sono configurate usando questa opzione come giustifica, tabulazioni, sottolineatura, ecc.
    • tag_delete(nome tag): Un determinato tag può essere cancellato e rimosso usando questo metodo.
    • tag_remove(tagname,(startindex(.endindex))… ): Un determinato tag viene rimosso dall'area in cui è presente senza cancellare la definizione del tag effettivo dopo l'applicazione di questo metodo.

Esempio

Il programma Python utilizza il testo Tkinter per visualizzare il testo utilizzando i metodi di inserimento e tag e quindi cercare il testo evidenziato in rosso quando viene trovato.

Codice:

from tkinter importroot1=Tk( ) fram1=Frame(root1) Label(fram1,text='Inserisci il testo da cercare:').pack(side=LEFT) edit1=Entry(fram1) edit1 .pack(lato=SINISTRA, riempimento=ENTRAMBE, espandi=1) edit1.focus_set( ) button=Pulsante(fram1, testo='Cerca') button.pack(lato=DESTRA) fram1.pack(lato=TOP) text1=Text(root1) text1.insert('1.0', '''L'India è una bella nazione ''') text1.pack(side=BOTTOM) def find( ): text1.tag_remove('found', '1.0', END ) search1=edit1.get( ) if search1: id='1.0' while 1: id=text1.search(search1, id, nocase=1, stopindex=END) if not id: break lastid='%s+%dc' % (id, len(search1)) text1.tag_add('found', id, lastid) id=lastid text1.tag_config('found', foreground='red') edit1.focus_set( ) button.config(command=find) root1.mainloop( )

Uscita:

Articoli consigliati

Questa è una guida a Tkinter Text. Qui discutiamo una breve panoramica di Tkinter Text Widget, Methods, and its Examples insieme alla sua implementazione del codice. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Telaio Tkinter
  2. Griglia di Tkinter
  3. Menu Tkinter
  4. Widget Tkinter

Aiuta lo sviluppo del sito, condividendo l'articolo con gli amici!