[Tkinter-discuss] Force tkinter to use another fixed font
Sibylle Koczian
nulla.epistola at web.de
Tue Jul 28 04:23:59 EDT 2020
Am 22.07.2020 um 18:36 schrieb Sibylle Koczian:
> Am 21.07.2020 um 18:30 schrieb Paul Malherbe:
>> Hi
>>
>> ttk.Entry and ttk.Label use TkDefaultFont therefore changing TkFixedFont
>> will not work.
>>
> Thank you for making me look at this - it's even worse: ttk.Label uses
> TkDefaultFont, ttk.Entry uses TkTextFont. So that's definitely not the
> right way.
>
No, I think now it _is_ a comparatively simple way:
import tkinter as tk
from tkinter import ttk
from tkinter import font
def changefonts():
for fontname in [f for f in font.names()
if font.nametofont(f).actual()["family"] ==
"Inconsolata"]:
font.nametofont(fontname).config(
family="Bitstream Vera Sans Mono")
def main():
root = tk.Tk()
changefonts()
###... build your gui
root.mainloop()
if __name__ == "__main__":
main()
This should work for all themes. It seems unnecessary on Windows and on
Linux problems with the fonts probably depend on the chosen desktop
manager.
Regards
Sibylle
More information about the Tkinter-discuss
mailing list