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) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |