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:

Ci auguriamo che questo articolo ti abbia aiutato a risolvere il problema. Oltre a Python | Aggiungi stile al pulsante tkinter, controlla altri argomenti relativi a Python functions.

Vuoi eccellere in Python? Consulta la nostra recensione dei migliori corsi online Python 2023. Se sei interessato alla scienza dei dati, controlla anche come imparare a programmare in R.

A proposito, questo materiale è disponibile anche in altre lingue:



Marie Emmerson

New York | 2023-02-07

Python functions è tutto un po' confuso 😭 Python | Aggiungi stile al pulsante tkinter non è l'unico problema che ho riscontrato. Controllato ieri, funziona!

Dmitry Chamberlet

Texas | 2023-02-07

Forse ci sono altre risposte? Cosa significa esattamente Python | Aggiungi stile al pulsante tkinter significa esattamente?. Spero solo che non emerga più

Carlo Williams

Texas | 2023-02-07

Forse ci sono altre risposte? Cosa significa esattamente Python | Aggiungi stile al pulsante tkinter significa esattamente?. Lo userò nella mia tesi di laurea

Shop

Gifts for programmers

Learn programming in R: courses

$FREE
Gifts for programmers

Best Python online courses for 2022

$FREE
Gifts for programmers

Best laptop for Fortnite

$399+
Gifts for programmers

Best laptop for Excel

$
Gifts for programmers

Best laptop for Solidworks

$399+
Gifts for programmers

Best laptop for Roblox

$399+
Gifts for programmers

Best computer for crypto mining

$499+
Gifts for programmers

Best laptop for Sims 4

$

Latest questions

PythonStackOverflow

Common xlabel/ylabel for matplotlib subplots

1947 answers

PythonStackOverflow

Check if one list is a subset of another in Python

1173 answers

PythonStackOverflow

How to specify multiple return types using type-hints

1002 answers

PythonStackOverflow

Printing words vertically in Python

909 answers

PythonStackOverflow

Python Extract words from a given string

798 answers

PythonStackOverflow

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

606 answers

PythonStackOverflow

Python os.path.join () method

384 answers

PythonStackOverflow

Flake8: Ignore specific warning for entire file

360 answers

News


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

How to specify multiple return types using type-hints

Printing words vertically in Python

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically