将tkinter小部件放在前台

时间:2013-12-15 23:47:28

标签: python user-interface tkinter

我无法创建一个文本框(使用tkinter的文本小部件),它位于背景中并且在其上方有一个Canvas项(例如椭圆形)(foregroud):

import Tkinter as Tk

root = Tk.Tk()
c = Tk.Canvas(root, width=400, height=400, bg='white')
o = c.create_oval(10, 10, 390, 390, fill='red')
c.grid(row=0, column=0, columnspan=2, padx=5, pady=5)
t = Tk.Text(c)
t.place(x=10,y=10)
c.tag_lower(t)
c.tag_raise(o)
root.mainloop()

即使我使用c.tag_lower(t)c.tag_raise(o),它也不起作用。你知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

这是记录在案的行为。您无法绘制嵌入在画布中的其他小部件。没有解决方法。为了能够在文本之上绘图,您唯一的选择是使用create_text绘制文本。