我正在尝试为学校项目制作一个简单的GUI。我刚开始使用tkinter。我过去经常使用pygame创建GUI,这对客户化很好,但对效率并不是很好,哈哈。
我正在为我的/graphs文件夹中的每个文件创建一个按钮。在这段代码第42行中,我似乎无法更改按钮的背景色。这是我在tkinter遇到的一个令人担忧的问题。我不知道是我做错了什么,还是我使用的框架有问题。
我正试着把背景色调成红色。
我正在使用MACOS,我知道tkinter和mac有一些复杂之处,但我不能使用tkmacosx,因为我需要这个项目也可以在windows和linux上运行。
感谢您的帮助,如果您对我不适用的tkinter常见做法有任何建议,或者您有解决我问题的方法,请不要犹豫!
这是输出和代码
import tkinter as tk import os # colors SILVER = "#BFACAA" BLACK = "#02020A" OXFORD_BLUE = "#05204A" WISTERIA = "#B497D6" LAVENDER = "#E1E2EF" RED = "#FF0000" # Sizes WIDTH = 800 HEIGHT = 600 # Path PRJ_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) class Window: def __init__(self): self.window = tk.Tk() self.window.title("Graph Scheduler") self.window.geometry(f"{WIDTH}x{HEIGHT}") self.window.configure(background=LAVENDER) # Title and title box title_box = tk.Frame(self.window, bg=SILVER, width=WIDTH) title_box.pack(fill="x") title = tk.Label(title_box, text="Graph Scheduler", font=("Arial", 40), bg=SILVER, fg=BLACK) title.pack(pady=5) # File bar file_bar = tk.Frame(self.window, bg=OXFORD_BLUE, width=200, height=HEIGHT) file_bar.pack(fill="y", side="left") # File bar buttons file_bar_buttons = tk.Frame(file_bar, bg=OXFORD_BLUE, width=200, height=HEIGHT) file_bar_buttons.pack(fill="y", side="left") for file in os.listdir(PRJ_DIR + "/graphs"): if file.endswith(".txt"): file_bar_button = tk.Button(file_bar_buttons, text=file,background=RED, fg=SILVER, font=("Arial", 20), width=10, height=2) file_bar_button.pack(pady=5) self.window.mainloop() Window()```