2010-04-30 16 views
27

Sto scrivendo un programma di presentazione con Tkinter, ma non so come cambiare il colore di sfondo in nero invece che in grigio chiaro standard. Come si può fare?Colore di sfondo per Tk in Python

import os, sys 
import Tkinter 
import Image, ImageTk 
import time 

root = Tkinter.Tk() 
w, h = root.winfo_screenwidth(), root.winfo_screenheight() 
root.overrideredirect(1) 
root.geometry("%dx%d+0+0" % (w, h)) 
root.focus_set() 
root.bind("<Escape>", lambda e: e.widget.quit()) 
image = Image.open(image_path+f) 
tkpi = ImageTk.PhotoImage(image)   
label_image = Tkinter.Label(root, image=tkpi) 
label_image.place(x=0,y=0,width=w,height=h) 
root.mainloop(0) 
+0

sfondo di che cosa? un widget? usa la parola chiave background. Ulteriori informazioni: http://www.pythonware.com/library/tkinter/introduction/widget-styling.htm –

+0

Molti widget Tk hanno attributo bg, che consente di specificare il loro colore di sfondo. – sastanin

+0

Beh, sono davvero nuovo di Tk quindi non sono sicuro di cosa sia esattamente un widget, ma label_image.configure (background = 'black') ha fatto il trucco. Label_image è in questo caso un widget o è solo root? – olofom

risposta

58
root.configure(background='black') 

o più in generale

<widget>.configure(background='black') 
+0

Grazie mille! In questo caso label_image.configure (background = 'black') era quello che serviva per ottenere uno sfondo nero! – olofom

+0

Possono essere utilizzati solo colori predefiniti come "nero" o "bianco" o anche codici esadecimali? –

+0

Per quanto ne so, [qualsiasi colore appropriato] (http://effbot.org/tkinterbook/tkinter-widget-styling.htm) va bene. Ecco [un semplice esempio] (https://gist.github.com/thecjharries/8a4ecf94d2b43564d9b87815a3d1de55). –

17

So che questo è un pò una vecchia questione, ma:

root["bg"] = "black" 

sarà anche fare ciò che si vuole e si tratta di meno di battitura.

0
widget['bg'] = '#000000' 

o

widget['background'] = '#000000' 

sarebbe anche funzionare come vengono accettati anche i colori esadecimali con valori.

0

config è un'altra opzione:

widget1.config(bg='black') 
widget2.config(bg='#000000') 

o:

widget1.config(background='black') 
widget2.config(background='#000000')