接受一个类,它告诉我应该使用Canvas对象来显示文本.为什么这比使用标签更好呢?只显示文本框似乎是一种更复杂的方式.
在下面的示例中,请参见相关行的"#Create canvas"和"#Create labels"注释.
from tkinter import *
# Set globals, constants -------------------------------------------------------------
BG_COLOR = "#375362"
FG_COLOR = "white"
FONT = ("Arial", 20, "italic")
PADDING = 20
QBOX_HEIGHT = 250
QBOX_WIDTH = 300
# Create UI for Quizzler game --------------------------------------------------------
class QuizUI:
def __init__(self):
# Create window
self.window = Tk()
self.window.title("Quizzler")
self.window.config(padx=PADDING, pady=PADDING, bg=BG_COLOR)
# Create canvas
self.qbox_canvas = Canvas(width=QBOX_WIDTH, height=QBOX_HEIGHT)
self.qbox_canvas.grid(row=1, column=0, columnspan=2, padx=PADDING, pady=PADDING)
# Create labels
self.score_label = Label(text="Score: 0", bg=BG_COLOR, fg=FG_COLOR, font=FONT)
self.score_label.grid(row=0, column=1, padx=PADDING, pady=PADDING)
self.question_label = self.qbox_canvas.create_text(QBOX_WIDTH / 2, QBOX_HEIGHT / 2, text="PLACEHOLDER", font=FONT)
# Run window loop
self.window.mainloop()
Expected:%的人只使用标签.画布似乎没有必要. Actual:讲师推荐的画布.