Comment puis-je changer le fond d'une Image dans Tkinter?

J'ai été la création d'un e-Mail programme en utilisant Tkinter, en Python 3.3.
Sur différents sites, j'ai pu voir que l'Image widget peut obtenir un arrière-plan à l'aide de Frame.config(background="color").
Cependant, quand je l'utilise dans mes Images, il donne l'erreur suivante:

_tkinter.TclError: unknown option "-Background"

Il ne fonctionne pas dans les cas suivants:

frame = Frame(root, background="white")

Ou:

frame = Frame(root)
frame.config(bg="white")

Je ne peux pas le comprendre.
Je poste mon code source en entier mais je ne veux pas il est exposé sur internet, mais le cadre de la création va quelque chose comme ceci:

mail1 = Frame(self, relief=SUNKEN)
mail1.pack()
mail1.place(height=70, width=400, x=803, y=109)
mail1.config(Background="white")

J'ai essayé plusieurs options d'essayer de modifier l'arrière-plan. Le cadre est comme une enveloppe autour d'un aperçu des e-mails pour une boîte de réception.

En cas de besoin, ce la façon dont je suis l'importation de mes modules:

import tkinter, time, base64, imaplib, smtplib
from imaplib import *
from tkinter import *
from tkinter.ttk import *

La suite, c'est la pleine traçabilité en amont:

Traceback (most recent call last):
File "C:\Users\Wessel\Dropbox\Python\Main\Class Ginomail.py", line 457, in <module>
main()
File "C:\Users\Wessel\Dropbox\Python\Main\Class Ginomail.py", line 453, in main
app = Application(root) #start the application with root as the parent
File "C:\Users\Wessel\Dropbox\Python\Main\Class Ginomail.py", line 60, in __init__
self.initINBOX()
File "C:\Users\Wessel\Dropbox\Python\Main\Class Ginomail.py", line 317, in initINBOX
mail1.config(bg="white")
File "C:\Python33\lib\tkinter\__init__.py", line 1263, in configure
return self._configure('configure', cnf, kw)
File "C:\Python33\lib\tkinter\__init__.py", line 1254, in _configure
self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))
_tkinter.TclError: unknown option "-bg"

Donne l'erreur suivante avec le code de la réponse:

  File "C:\Users\Wessel\Dropbox\Python\Main\Class Ginomail.py", line 317, in initINBOX
  mail1 = Frame(self, relief=SUNKEN, style='myframe')
  File "C:\Python33\lib\tkinter\ttk.py", line 733, in __init__
  Widget.__init__(self, master, "ttk::frame", kw)
  File "C:\Python33\lib\tkinter\ttk.py", line 553, in __init__
  tkinter.Widget.__init__(self, master, widgetname, kw=kw)
  File "C:\Python33\lib\tkinter\__init__.py", line 2075, in __init__
  (widgetName, self._w) + extra + self._options(cnf))
  _tkinter.TclError: Layout myframe not found

Résolu! Merci. Ses la boîte de réception de barre à droite, à l'arrière-plan doit être blanc.
Comment puis-je changer le fond d'une Image dans Tkinter?

C'est une mauvaise idée de mélanger place, pack et grid méthodes.
Ok merci, je l'ai utilisé, puisque quelqu'un l'a utilisé dans un Tkinter, tutoriel, et c'est resté depuis. Je vais optimiser mon code pour utiliser uniquement l'endroit.
Il est préférable d'utiliser place ou grid sur 99% des cas.
Yep, j'ai trouvé que lors de l'utilisation de code'pack'code' je ne pouvais pas créer l'interface que je voulais.
Je pense que vous donnez certains des mauvais conseils. place est rarement le bon choix; les deux pack et grid donnent généralement de meilleurs résultats que place. Aussi, il est bon de les mélanger dans une application, vous ne pouvez pas mélanger dans le même conteneur widget.

OriginalL'auteur IPDGino | 2013-05-19