2012-06-04 3 views
3

Я пытаюсь создать окно корня с черным фоном, чтобы смешать с фоном кнопок.Конфигурация фона корневого окна Python/Tkinter

я следующее:

class Application(Frame): 
    def __init__(self, parent): 
     Frame.__init__(self, parent) 
     self.parent = parent 
     self.initUI() 
... 

    def initUI(self): 
     self.outputBox = Text(bg='black', fg='green', relief=SUNKEN, yscrollcommand='TRUE') 
     self.outputBox.pack(fill='both', expand=True) 
     self.button1 = Button(self, text='button1', width=40, bg ='black', fg='green', activebackground='black', activeforeground='green') 
     self.button1.pack(side=RIGHT, padx=5, pady=5) 
     self.button2 = Button(self, text='button2', width=20, bg='black', fg='green', activebackground='black', activeforeground='green') 
     self.button2.pack(side=LEFT, padx=5, pady=5) 
... 

def main(): 
    root = Tk() 
    root.geometry('1100x350+500+300') 
    root.configure(background = 'black') 
    app = Application(root) 
    root.mainloop() 

Но root.configure(background = 'black') не меняется цвет фона корневого окна ... какие-нибудь предложения?

+0

Хм, вы уверены, что в этом проблема? 'root.configure (background = 'black')' отлично работает на моем компьютере. –

+0

Какая ОС вы используете? – mgilson

+0

Я использую Fedora 16 – user1435947

ответ

7

Это работает (Проверьте, как ссылается родительский корень):

Edit: я редактировал код и рисунок, чтобы сделать ясно, где набор цветов:

from Tkinter import * 

class Application(Frame): 
    def __init__(self, master=None): 
     Frame.__init__(self, master) 
     self.parent = master 
     self.initUI() 

    def initUI(self): 
     self.outputBox = Text(self.parent, bg='yellow', height= 10, fg='green', relief=SUNKEN, yscrollcommand='TRUE') 
     self.outputBox.pack(fill='both', expand=True) 
     self.button1 = Button(self.parent, text='button1', width=20, bg ='blue', fg='green', activebackground='black', activeforeground='green') 
     self.button1.pack(side=RIGHT, padx=5, pady=5) 
     self.button2 = Button(self.parent, text='button2', width=25, bg='white', fg='green', activebackground='black', activeforeground='green') 
     self.button2.pack(side=LEFT, padx=5, pady=5) 

def main(): 
    root = Tk() 
    app = Application(root) 
    app.parent.geometry('300x200+100+100') 
    app.parent.configure(background = 'red') 
    app.mainloop() 

main() 

enter image description here

+0

Все выглядит так же после редактирования ... – user1435947

+0

Вы принимали во внимание все изменения ?. Проверьте изображение. Примечание. Я использовал красный фон. – joaquin

+0

Да ... код действительно работает, но фон по-прежнему отказывается меняться. Возможно, я пропустил часть пакета? EDIT: только что обновил пакеты tkinter, и он все еще не работает. – user1435947

0

Б.Г. его» 'not' background 'в строке .configure.

+0

На самом деле они оба работают –

Смежные вопросы