Python | Aggiungi stile al pulsante tkinter

L’aggiunta di uno stile al pulsante tkinter.ttk è un po’ inquietante perché non supporta l’implementazione diretta. Per aggiungere stili a ttk.Button dobbiamo prima creare un oggetto classe di stile che è disponibile in tkinter.ttk .

Possiamo creare ttk.Button. utilizzando i seguenti passaggi:

 btn = ttk.Button (master, opzione = valore, ...) 

ttk.Button options —

comando: una funzione da richiamare quando si preme il pulsante.
testo: testo che appare sul pulsante.
immagine: immagine che verrà visualizzata sul pulsante.
stile: stile da utilizzare per il rendering di questo pulsante.

Per aggiungere stili a ttk.Button non possiamo passare direttamente il valore nelle opzioni. Innanzitutto, dobbiamo creare un oggetto Style, che può essere creato in questo modo:

 style = ttk.Style() 

Sotto il codice aggiungerà solo lo stile ai pulsanti selezionati, cioè ... verranno modificati solo i pulsanti in cui si passa il parametro di stile.

Codice n. 1:

from tkinter import *

da tkinter. ttk import *

root = Tk ()

root.geometry ( ’100x100’ )


# Questo creerà un oggetto stile

style = Stile ()


# Questo aggiungerà lo stile, e
# chiamando questa variabile di stile come
# W.Tbutton (TBtton è usato per ttk.Button).

style.configure ( ’W.TButton’ , font =

( ’calibri’ , 10 , ’ bold’ , ’underline’ ),

primo piano = ’rosso’ )

< br /> # Lo stile si rifletterà solo su
# questo pulsante perché forniamo
# stile su questo solo pulsante.
& # 39; & # 39; & # 39; Pulsante 1 & # 39; & # 39; & # 39;

btn1 = Pulsante (root, testo = ’ Esci! ’ ,

stile = ’W.TButton’ ,

comando = root.destroy)

btn1.grid (riga = 0 , colonna = 3 , padx = 100 )


< codice classe = "commenti"> & # 39; & # 39; & # 39; Pulsante 2 & # 39; & # 39; & # 39;

btn2 = Pulsante (root, testo = ’ Cliccami! ’ , comando = Nessuno )

btn2.grid (riga = 1 , colonna = 3 , pady = 10 , padx = 100 )


root.mainloop ()

Output:

Solo un pulsante ha lo stile perché nel codice sopra forniamo solo stili in un pulsante.

Codice n. 2 Applica lo stile a tutti i pulsanti disponibili

da tkinter importa *

da tkinter.ttk import *

radice = Tk()

< p> root.geometry ( ’100x100’ )

stile = stile ()


# Aggiungi uno stile a ogni pulsante disponibile
# anche se non stiamo esaminando lo stile
# per ogni widget pulsante.

style.configure ( ’TButton’ , font =

( ’calibri’ , 10 , ’grassetto’ , ’ sottolineato’ ),

primo piano = ’rosso’ )

al pulsante n. 1

btn1 = Pulsante ( radice, testo = ’Esci!’ ,

stile = ’ TButton’ ,

comando = root.destroy)

btn1.grid (riga = < classe codice = "valore"> 0 , colonna = 3 , padx = 100 )


Pulsante n. 2

btn2 = Pulsante (radice, testo = ’Fai clic su di me!’ , comando = Nessuno )

btn2. griglia (riga = 1 , colonna = 3 , pady = 10 , padx = 100 )


root.mainloop()

Output:

Ora, se vuoi cambiare l’aspetto dei pulsanti con il movimento del mouse, cioè ora, quando passiamo sopra il pulsante, cambia color, quando facciamo clic, cambia colore e così via.

Codice n. 3 Cambia colore al passaggio del mouse

da tkinter importa *

da tkinter.ttk importa *

radice = Tk ()

root.geometry ( ’500x500’ )

stile = stile ()

style.configure ( ’TButton’ , font =

( ’calibri ’ , 20 , ’grassetto’ ),

larghezza bordo = ’ 4’ )


# Le modifiche verranno riflesse
# movimento del mouse.

stile. mappa ( ’TButton’ , primo piano = [( ’attivo’ , ’!disabilitato’ , ’verde’ )],

sfondo = [( ’ attivo’ , ’black’ )])


pulsante n. 1

btn1 = Pulsante (root , testo = ’Esci!’ , comando = root.destroy)

btn1.grid (riga = 0 , colonna = 3 , padx = 100 )


Pulsante n. 2

btn2 = Pulsante (root, testo = ’ Cliccami!’ , comando = Nessuno )

btn2.grid (riga = 1 , colonna = 3 , pady = 10 , padx = 100 )


root.mainloop ()

Uscita:

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method