加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python Tkinter文本背景

发布时间:2020-12-20 11:23:52 所属栏目:Python 来源:网络整理
导读:我正在尝试为Tkinter文本小部件设置背景颜色 – 我正在尝试复制示例 here和 here,这两个似乎都表明我可以这样做: w.create_text(*textSet,text=i[3],font=("Helvetica",16),bg="white")) 但是当我尝试这个时,我收到Tkinker的错误: w.create_text(*textSet,
我正在尝试为Tkinter文本小部件设置背景颜色 – 我正在尝试复制示例 here和 here,这两个似乎都表明我可以这样做:

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

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

w.create_text(*textSet,bg="white")
File "C:python27liblib-tkTkinter.py",line 2213,in create_text
return self._create('text',args,kw)
File "C:python27liblib-tkTkinter.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,bg="white")
mainloop()

解决方法

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

第二种方法的示例:

i=w.create_text(*textSet,16))
r=w.create_rectangle(w.bbox(i),fill="white")
w.tag_lower(r,i)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读