在tkinter中为大屏幕增大字体大小

1 投票
2 回答
61 浏览
提问于 2025-04-12 13:55

我正在用tkinter写一个小应用程序,这个程序会在大屏幕上运行。为了让观众能看到内容,我需要一些控件使用很大的字体。

现在我遇到的问题是,tkinter似乎对超过40的字体大小不太管用:

import tkinter

root = tkinter.Tk()
for s in [10, 20, 40, 60, 80, 100]:
    tkinter.Label(root, text=f"font size: {s}", font=("Arial", s)).pack()

root.mainloop()

TKinter Fonts

有没有办法把字体大小调得更大一些呢?

补充说明:我使用的是Open Suse Linux,KDE X11。切换到wayland也没有改变输出效果。

2 个回答

-1

你的代码生成的字体大小对我来说是正确的。不过,我觉得问题出在你的窗口大小上,因为字体大小似乎被窗口“限制”了。你可以试着调整窗口大小,或者如果这样不行的话,可以在你的代码里使用 'root.geometry("500x400")' 来调整窗口的大小。

1

谢谢大家的回答,它们让我找到了进一步探索的方向。我的系统上有些字体是位图字体,放大到一定大小后就无法再放大。换成其他字体是最简单的解决办法:

import tkinter

root = tkinter.Tk()
for s in [10, 20, 40, 60, 80, 100]:
    tkinter.Label(root, text=f"font size: {s}", font=('utopia', s)).pack()

root.mainloop()

为了找到一种矢量字体,我使用了这篇帖子里的代码:

https://stackoverflow.com/a/53717785/19950163

撰写回答