«Config (bg = [color])» не работает в классах? - PullRequest
0 голосов
/ 23 июня 2018

Я использовал класс с 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.Пожалуйста, подключите это к вашему редактору и запустите код.

1 Ответ

0 голосов
/ 23 июня 2018

Фон вашего окна действительно черный. Однако вы покрываете его холстом, поэтому вы не сможете увидеть черное. Это можно увидеть, добавив параметры padx=10 и pady=10 при упаковке холста, чтобы увидеть черный цвет, окружающий холст. Если вы хотите, чтобы холст был черным, установите его цвет фона на черный (например: canvas = Canvas(self.master, ..., background='black')

В комментариях звучит так, будто вы жалуетесь на тонкую белую рамку вокруг холста. Если вы не хотите эту границу, установите borderwidth на ноль, а также установите highlightthickness на ноль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...