2010-04-30 5 views
27

Ich schreibe ein Diashow-Programm mit Tkinter, aber ich weiß nicht, wie ich die Hintergrundfarbe auf Schwarz anstelle des Standard-Hellgraues ändern soll. Wie kann das gemacht werden?Hintergrundfarbe für 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

Hintergrund dessen, was? ein Widget? benutze 'background keyword. Weitere Informationen: http://www.pythonware.com/library/tkinter/introduction/widget-styling.htm –

+0

Viele Tk-Widgets haben ein bg-Attribut, mit dem ihre Hintergrundfarbe angegeben werden kann. – sastanin

+0

Nun, ich bin wirklich neu in Tk, also bin ich mir nicht sicher, was genau ein Widget ist, aber label_image.configure (background = 'black') hat den Trick gemacht. Ist label_image in diesem Fall ein Widget oder ist es nur root? – olofom

Antwort

58
root.configure(background='black') 

oder allgemeiner

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

Vielen Dank! In diesem Fall label_image.configure (background = 'black') wurde benötigt, um einen schwarzen Hintergrund zu bekommen! – olofom

+0

Können nur vordefinierte Farben wie "Schwarz" oder "Weiß" verwendet werden oder auch Hex-Codes? –

+0

Soweit ich weiß, ist [jede richtige Farbe] (http://effbot.org/tkinterbook/tkinter-widget-styling.htm) in Ordnung. Hier ist [ein einfaches Beispiel] (https://gist.github.com/thecjharries/8a4ecf94d2b43564d9b87815a3d1de55). –

17

Ich weiß, das ist irgendwie eine alte Frage, aber:

root["bg"] = "black" 

wird auch tun, was Sie wollen und es geht weniger tippen.

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

oder

widget['background'] = '#000000' 

würde auch als Hex-Wert von Farben auch akzeptiert werden.

0

config ist eine weitere Option:

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

oder:

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