2010-04-30 74 views
27

Estoy escribiendo un programa de presentación de diapositivas con Tkinter, pero no sé cómo cambiar el color de fondo a negro en lugar del gris claro estándar. ¿Cómo puede hacerse esto?Color de fondo para Tk en 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

fondo de qué? un widget? use la palabra clave 'background Más información: http://www.pythonware.com/library/tkinter/introduction/widget-styling.htm –

+0

Muchos widgets Tk tienen el atributo bg, que permite especificar su color de fondo. – sastanin

+0

Bueno, soy muy nuevo en Tk, así que no estoy seguro de qué es exactamente un widget, pero label_image.configure (background = 'black') hizo el truco. ¿Label_image en este caso es un widget o solo es root? – olofom

Respuesta

58
root.configure(background='black') 

o más generalmente

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

¡Muchas gracias! En este caso, label_image.configure (background = 'black') era lo que se necesitaba para obtener un fondo negro. – olofom

+0

¿Solo se pueden usar colores predefinidos como "negro" o "blanco" o también códigos hexadecimales? –

+0

Por lo que sé, [cualquier color apropiado] (http://effbot.org/tkinterbook/tkinter-widget-styling.htm) está bien. Aquí hay [un ejemplo simple] (https://gist.github.com/thecjharries/8a4ecf94d2b43564d9b87815a3d1de55). –

17

Sé que esto es un poco una vieja pregunta, pero:

root["bg"] = "black" 

también va a hacer lo que quiere y que implica menos escribir.

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

o

widget['background'] = '#000000' 

también funcionaría como también se aceptan los colores hexagonales de valor.

0

config es otra opción:

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

o:

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