0
我一直在玩這個示例代碼,只是嘗試不同的東西。我認爲Bryan Oakley最初寫這個。鑑於此示例代碼,如何將灰色區域(我認爲是窗口背景)更改爲黑色?它在我看來,該窗口正在使用灰色的標準窗口顏色。我已經改變了每一幀,試圖弄清楚每個區域以及它們的顯示方式。我還添加了根背景標籤,但沒有運氣。這讓我有點瘋狂。如何更改此示例中的背景顏色
import Tkinter as tk
from Tkinter import *
class Page(tk.Frame):
def __init__(self, *args, **kwargs):
tk.Frame.__init__(self, *args, **kwargs)
def show(self):
self.lift()
class Page1(Page):
def __init__(self, *args, **kwargs):
tk.Frame.__init__(self, *args, **kwargs)
newframe = tk.Frame(self, width=780, height=540, background="red")
newframe.place(anchor="c", relx=.5, rely=.5)
class Page2(Page):
def __init__(self, *args, **kwargs):
tk.Frame.__init__(self, *args, **kwargs)
newframe = tk.Frame(self, width=780, height=540, background="blue")
newframe.place(anchor="c", relx=.5, rely=.5)
class MainView(tk.Frame):
def __init__(self, *args, **kwargs):
tk.Frame.__init__(self, *args, **kwargs)
p1 = Page1(self)
p2 = Page2(self)
buttonframe = tk.Frame(self, bg='green')
container = tk.Frame(self, bg='yellow')
buttonframe.pack(side="top", fill="x", expand=False)
container.pack(side="top", fill="both", expand=True)
p1.place(in_=container, x=0, y=0, relwidth=1, relheight=1)
p2.place(in_=container, x=0, y=0, relwidth=1, relheight=1)
self.b1 = tk.Button(buttonframe, text="Page 1", command=lambda: p1.lift())
self.b1.pack(side="left")
self.b2 = tk.Button(buttonframe, text="Page 2", command=lambda: p2.lift())
self.b2.pack(side="left")
p1.show()
if __name__ == "__main__":
root = tk.Tk()
main = MainView(root)
root.configure(bg='black')
main.pack(side="top", fill="both", expand=True)
root.wm_geometry("800x600")
root.mainloop()
我也試過main.configure(bg ='black') – Husar 2015-03-03 00:05:00
這是你能想出的最小代碼重現嗎? ...爲什麼不從一個框架開始? – 2015-03-03 00:12:01
是的。這是一個分頁示例,因此您可以擁有的最小頁面仍然顯示爲2。由於灰色區域似乎來自root.background以外的其他東西,所以具有多個頁面並且能夠提升每個頁面對於該問題是重要的。我不認爲還有其他的東西可以應用於它,所以灰色區域讓我撓了撓頭。 – Husar 2015-03-03 00:33:49