如何去除字体的白色边框?

时间:2021-03-23 08:19:29

标签: python tkinter

如果我把字体家族改成fixedsys,白边确实消失了,但是为什么呢? 这是我的代码

import tkinter as tk

win = tk.Tk()

win.wm_attributes("-transparentcolor", "white")
win.configure(background='white')
label = tk.Label(text='Hello World', bg='white', font=('Microsoft YaHei', 30))
label.pack()
win.mainloop()

1 个答案:

答案 0 :(得分:0)

tkinker(和 PIL)字体引擎对背景颜色进行抗锯齿,在您的情况下为“白色”。您在字符周围看到的并不是真正的白色而是灰色。为了最小化效果,您应该选择靠近前景的背景颜色,例如,如果前景是“黑色”,则选择“gray1”,然后将“gray1”设为透明。当然,您失去了抗锯齿效果,但白色消失了。试试这个:

import tkinter as tk
win = tk.Tk()
trasp = 'gray1'
win.wm_attributes("-transparentcolor", trasp)
win.configure(background=trasp)
label = tk.Label(text='Hello world', fg='black', bg=trasp, font=('Microsoft YaHei', 30))
label.pack()
win.mainloop()
exit()
相关问题