I have managed to create this.
我正在使用具有不同阴影的椭圆形来创建它。
def Banner():
canvas.create_oval(-300, 1600, 4000, 200, fill="gray38", outline="gray38", width=4)
banner_label = Label (canvas, width=30, height=2, font=font3, text = "FITNESS FIRST", bg="gray30", fg = "white")
canvas_banner_label = canvas.create_window(500, 200, window=banner_label)
但是我想知道是否仍然可以使椭圆形几乎占据优先地位,并重叠Label以使椭圆形位于其前面,从而使图案在整个过程中都可见
答案 0 :(得分:1)
在画布上使用Label()
的问题是标签本身具有自己的背景,并且始终与文本处于同一级别,因此您不能在文本后面重叠画布图像。但是canvas具有一种称为create_text
的方法,该方法将直接在画布上绘制文本,而不使用标签。
以下是使用create_text
进行画布的示例。
在create_text
方法中,前两个参数是坐标,然后您需要的只是文本字体,填充是颜色。
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, width=800, height=650, bg="darkgrey")
canvas.create_oval(-300, 1600, 4000, 200, fill="gray38", outline="gray38", width=4)
canvas.create_text(400,325, text="FITNESS FIRST", font=("Purisa", 60),fill="white")
canvas.pack()
root.mainloop()
结果: