首页 > 解决方案 > 如何去除字体的白色边框?

问题描述

如果我将字体系列更改为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()

标签: pythontkinter

解决方案


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

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()

推荐阅读