我使用带有tkinter
的类来创建窗口。但是,更改背景颜色对我不起作用。我已经看过另一个问题,并尝试了每种更改背景颜色的解决方案,但没有任何效果。这是我的代码:
from tkinter import *
class Window(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.master = master
self.init_window()
self.mazeDrawing()
def init_window(self):
self.master.title('Maze')
self.pack(fill=BOTH, expand=1)
self.master.geometry("900x600")
self.master.config(bg='black')
menu = Menu(self.master)
self.master.config(menu=menu)
file = Menu(menu)
file.add_command(label='Exit', command=self.clientExit)
menu.add_cascade(label='File', menu=file)
def clientExit(self):
exit()
def mazeDrawing(self):
canvas = Canvas(self.master, width='900', height='600')
canvas.pack()
canvas.create_rectangle(100, 100, 800, 500, outline='red')
root = Tk()
App = Window(root)
App.mainloop()
如您所见,我在init_window
中将背景色明确定义为黑色,在self.master.config(bg='black')
中定义为黑色,但是在运行代码时,我得到了一个白色窗口。我不确定这是否仅是因为我的计算机很烂,还是我违反了某些python规则。请将此插入您的编辑器并运行代码。
答案 0 :(得分:1)
窗口的背景确实是黑色的。但是,您正在用画布覆盖它,因此您将看不到黑色。您可以通过在打包画布时添加选项padx=10
和pady=10
来查看此情况,以查看画布周围的黑色。如果您希望画布为黑色,请将其背景颜色设置为黑色(例如:canvas = Canvas(self.master, ..., background='black'
)
在评论中,听起来好像您在抱怨画布周围的白色细边框。如果您不希望该边框,请将borderwidth
设置为零,并将highlightthickness
设置为零。