这是我的代码 - 我正在尝试创建_文本并将其放置在图像上,但是在运行代码时,即使我在位置 0,0 创建它,我也只能看到它出现,位置 400,263 处的其他文本不会显示(因为它分层在图像下方)
window = Tk()
window.title("Flash Card")
window.config(pady=50, padx=50, background=BACKGROUND_COLOR)
canvas = Canvas(width=800, height=526)
french_background = PhotoImage (file ="images/card_front.png")
canvas.create_image(400, 263, image=french_background)
canvas.create_text(0, 0, text="French", fill= "black" , font=("Ariel", 40, "italic"))
canvas.create_text(400,263, text=random_french, fill="black", font=("Ariel",60,"bold"))
canvas.config(bg=BACKGROUND_COLOR, highlightthickness=0)
canvas.grid(row=0, column=0, columnspan=2)
canvas.create_text 在图像下方而不是顶部显示文本。
我正在尝试创建文本并将其放在图像上,但是在运行时 如果我在适当的位置创建它,我只能看到它甚至出现的代码 0,0,位置 400,263 处的其他文本不显示(因为它 分层在图像下方)
可以通过将字体大小减小到 40 和 30 来解决该问题。并将 canvas.create_text 坐标设置为
canvas.create_text(120, 30,...)
而不是 canvas.create_text(0, 0, ...)
片段:
from tkinter import *
window = Tk()
window.title("Flash Card")
window.config(pady=50, padx=50, background='green')
canvas = Canvas(width=800, height=526)
french_background = PhotoImage (file ="p2.png")
canvas.create_image(400, 263, image=french_background)
canvas.create_text(120, 30, text="French", fill= "black" , font=("Ariel", 40, "italic"))
canvas.create_text(400,263, text='random_french', fill="yellow", font=("Ariel",30,"bold"))
canvas.config(bg='red', highlightthickness=0)
canvas.grid(row=0, column=0, columnspan=2)
window.mainloop()
截图:
在
canvas.create_text
之后使用
canvas.grid
canvas.grid(row=0, column=0, columnspan=2)
canvas.create_text(0, 0, text="French", fill= "black" , font=("Ariel", 40, "italic"))
canvas.create_text(400,263, text=random_french, fill="black", font=("Ariel",60,"bold"))