Python 为什么我的上框不是我选择的颜色而是下框?

Python 为什么我的上框不是我选择的颜色而是下框?,python,python-2.7,tkinter,Python,Python 2.7,Tkinter,我正在使用Tkinter和pyhton 2.7创建一个Tkinter窗口,该窗口具有顶框和底框。顶部框架有多个我可以选择的页面。当我创建容器时,我将顶框设为绿色,底框设为蓝色。然而,当我运行代码时,顶框是灰色的 dashboard.py: from Tkinter import * from page1 import PageOne from page2 import PageTwo from page3 import PageThree class FullscreenWindow:

我正在使用Tkinter和pyhton 2.7创建一个Tkinter窗口,该窗口具有顶框和底框。顶部框架有多个我可以选择的页面。当我创建容器时,我将顶框设为绿色,底框设为蓝色。然而,当我运行代码时,顶框是灰色的

dashboard.py:

from Tkinter import *
from page1 import PageOne
from page2 import PageTwo
from page3 import PageThree

class FullscreenWindow:
    def __init__(self):
        self.tk = Tk()
        self.tk.configure(background='black')

        #Create Containers
        self.buttonFrame = Frame(self.tk, background='black')
        self.topFrame = Frame(self.tk, bg="green")
        self.bottomFrame = Frame(self.tk, bg="blue")

        #Resize containers
        self.buttonFrame.pack(side="top", fill="x", expand=False)
        self.topFrame.pack(side="top", fill="both", expand=True)
        self.bottomFrame.pack(side="top", fill="both", expand=True)

        #Define Pages
        self.pageOne = PageOne(self.tk)
        self.pageTwo = PageTwo(self.tk)
        self.pageThree = PageThree(self.tk)

        #Place Pages in Containers
        self.pageOne.place(in_=self.topFrame, x=0, y=0, relwidth=1, relheight=1)
        self.pageTwo.place(in_=self.topFrame, x=0, y=0, relwidth=1, relheight=1)
        self.pageThree.place(in_=self.topFrame, x=0, y=0, relwidth=1, relheight=1)

        #Create Navigation Buttons
        self.buttonOne = Button(self.buttonFrame, text="Page 1", command=self.pageOne.lift)
        self.buttonTwo = Button(self.buttonFrame, text="Page 2", command=self.pageTwo.lift)
        self.buttonThree = Button(self.buttonFrame, text="Page 3", command=self.pageThree.lift)

        #Format Buttons
        self.buttonOne.pack(side="left")
        self.buttonTwo.pack(side="left")
        self.buttonThree.pack(side="left")

        #Display Page 1 by default
        self.pageOne.show()

        #Bind Enter Key to Toggle FullScreen
        self.state = False
        self.tk.bind('<Return>', self.toggle_fullscreen)

    def toggle_fullscreen(self, event=None):
        self.state = not self.state

        self.tk.attributes('-fullscreen', self.state)
        return 'break'

if __name__ == '__main__':
    w = FullscreenWindow()
    w.tk.resizable(width=False, height=False)
    w.tk.geometry('720x1280')
    w.tk.mainloop()
page.py:

import Tkinter as tk

class Page(tk.Frame):
    def __init__(self, *args, **kwargs):
        tk.Frame.__init__(self, *args, **kwargs)
    def show(self):
        self.lift()

顶部框架是您指定的颜色。只是页面实例完全隐藏了它

通过更改页面在框架中的放置方式,可以看到这一点:

self.pageOne.place(in_=self.topFrame, relx=.05, rely=.05, relwidth=.9, relheight=.9)
self.pageTwo.place(in_=self.topFrame, relx=.05, rely=.05, relwidth=.9, relheight=.9)
self.pageThree.place(in_=self.topFrame, relx=.05, rely=.05, relwidth=.9, relheight=.9)

非常感谢。我在place文档中没有看到任何选项建议您可以更改这些行中的颜色。是否有一个解决方法,某种方法使背景为TransparentNevermind。我找到了需要编辑的行。谢谢。不,你不能使框架的背景透明。
self.pageOne.place(in_=self.topFrame, relx=.05, rely=.05, relwidth=.9, relheight=.9)
self.pageTwo.place(in_=self.topFrame, relx=.05, rely=.05, relwidth=.9, relheight=.9)
self.pageThree.place(in_=self.topFrame, relx=.05, rely=.05, relwidth=.9, relheight=.9)