2010-04-30 2 views
27

Я пишу программу слайд-шоу с Tkinter, но я не знаю, как изменить цвет фона на черный, а не на стандартный светло-серый. Как это может быть сделано?Цвет фона для Tk в 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

фоне чего? виджет? используйте ключевое слово 'background'. Дополнительная информация: http://www.pythonware.com/library/tkinter/introduction/widget-styling.htm –

+0

Многие виджеты Tk имеют атрибут bg, который позволяет указать их цвет фона. – sastanin

+0

Ну, я действительно новичок в Tk, поэтому я не уверен точно, что такое виджет, но label_image.configure (background = 'black') сделал трюк. Является ли label_image в этом случае виджетами или это только root? – olofom

ответ

58
root.configure(background='black') 

или вообще

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

Спасибо большое! В этом случае label_image.configure (background = 'black') - это то, что нужно, чтобы получить черный фон! – olofom

+0

Могут использоваться только предопределенные цвета, такие как «черный» или «белый», или также шестнадцатеричные коды? –

+0

Насколько я знаю, [любой правильный цвет] (http://effbot.org/tkinterbook/tkinter-widget-styling.htm) в порядке. Вот [простой пример] (https://gist.github.com/thecjharries/8a4ecf94d2b43564d9b87815a3d1de55). –

17

Я знаю, что это своего рода старый вопрос, но:

root["bg"] = "black" 

также будет делать то, что вы хотите, и это требует меньше печатать.

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

или

widget['background'] = '#000000' 

также будет работать, как также принимаются шестигранные многозначных цвета.

0

config другой вариант:

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

или:

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