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
_______________________________________________
Tkinter-discuss mailing list
Tkinter-discuss@python.org
https://mail.python.org/mailman/listinfo/tkinter-discuss

Reply via email to