2014-05-19 19 views
5

Ho bisogno di modificare il colore di un widget in qualche modo, ad esempio, per renderlo più scuro, più verde, per invertire. Il colore del widget viene assegnato per nome, ad esempio 'orchid4'. Come ottengo i valori RGB da una stringa di nome colore?Nome colore tkinter a oggetto colore

+0

Prima sezione: http://effbot.org/tkinterbook/tkinter-widget-styling.htm – atlasologist

+0

come imbarazzante – erjoalgo

+0

Ho provato a ispezionare l'oggetto, guardando le informazioni di configurazione del widget(), ma i colori memorizzati lì sono ancora nomi di colori se il colore è stato specificato in questo modo. Ho anche provato a esaminare la classe dell'oggetto colore e il codice sorgente, ma questo mi ha portato a un file .so illeggibile. – erjoalgo

risposta

4

Si dovrebbe provare qualcosa di simile:

In [31]: rgb = button.winfo_rgb("orchid4") 

In [32]: rgb 
Out[32]: (35723, 18247, 35209) 

dove button è il nome del widget di vostro oggetto.

+0

Qual è la gamma di questi numeri? Di solito mi aspetto che i colori siano in [0,255]. – Kevin

+0

Questi sono valori RGB a 16 bit che vanno da 0 a 65535. È possibile dividere ciascun valore per 256 se si desidera un intervallo compreso tra 0 e 255. – DanGar