Python Tkinter文本背景

我正在尝试为Tkinter文本小部件设置背景颜色 – 我正在尝试复制示例
here
here,这两个似乎都表明我可以这样做:

w.create_text(*textSet, text=i[3], font=("Helvetica", 16), bg="white"))

但是当我尝试这个时,我收到Tkinker的错误:

w.create_text(*textSet, text=i[3], font=("Helvetica", 16), bg="white")
File "C:\python27\lib\lib-tk\Tkinter.py", line 2213, in create_text
return self._create('text', args, kw)
File "C:\python27\lib\lib-tk\Tkinter.py", line 2189, in _create
*(args + self._options(cnf, kw))))
_tkinter.TclError: unknown option "-bg"

我尝试使用关键’背景’得到相同的结果.

文本需要覆盖在圆上,圆圈大小是动态生成的,所以当圆圈小于文本时,我想要一个纯实的背景,因此圆圈的线条不会破坏文本.

任何指向我做错的指针?这是整个部分:

master = Tk()
w = Canvas(master, width=1000, height=1000)
w.config(bg='white')
w.pack()
w.create_oval(*coordsSet, width=3)
w.create_text(*textSet, text=i[3], font=("Helvetica", 16), bg="white")
mainloop()

最佳答案 不幸的是,create_text不支持该选项.您可以覆盖支持bg的tkInter文本小部件,并在第二个链接中进行描述.或者,您可以使用bbox函数获取文本的边界框,然后在文本下面覆盖一个具有类似效果的白色矩形.

第二种方法的示例:

i=w.create_text(*textSet, text=i[3], font=("Helvetica", 16))
r=w.create_rectangle(w.bbox(i),fill="white")
w.tag_lower(r,i)
点赞