无法更改像素本上的 tkinter 字体

Posted

技术标签:

【中文标题】无法更改像素本上的 tkinter 字体【英文标题】:Cannot change tkinter font on pixelbook 【发布时间】:2018-12-17 06:55:13 【问题描述】:

我在我的 pixelbook chromebook 上使用 python3 和 tkinter,在开发人员分支中使用本机 Linux。这是一个 Anaconda 发行版(python 3.6.5),所有软件包都按预期工作,除了 tkinter 中的这个小问题。 tkinter 中的默认字体大小非常小,由于某种原因我无法更改它。这是我尝试的一个简单代码:

from tkinter import *
root = Tk()
root.wm_title("Tkinter Testing")
l = Label(root, text='Hello config world', font=('Helvetica', 60))
l.pack()
root.mainloop()

结果窗口:

    没有标题 有类似 2pt 的字体,几乎难以辨认。

很抱歉,您只能相信我的话,但我没有嵌入图片所需的等级。

我尝试了各种字体:“Helvetica”、“Veranda”、“times”,还有“TkFixedFont”、“TkHeadingFont”,没有任何区别。我没有收到任何错误,即使我输入了这样的内容:“asdfe”。它只是不在乎。

我可以跑

from tkinter import font

它成功了,所以这不是问题。我会错过一些字体包吗?我的 pixelbook Linux 环境与标准 Ubuntu 有什么不同?当我从 pixelbook 获取代码并在 Windows 上运行时,字体会按预期缩放并得到标题,所以这不是代码,而是环境。

【问题讨论】:

【参考方案1】:

当我使用 tkinter 字体时,这里是我使用的一些代码:

from tkinter import Font as tkFont

helvetica = tkFont.font(family = "Helvetica", size = 12)

Label(... font = helvetica)

如果您预先定义了字体,那么您可以重用 then 并轻松更改它们。

要解决您的问题,请更改以下内容:

font = ("Helvetica", 60)

到这里:

font = tkFont.Font(family = "Helvetica", size = 60)

仅供参考:原始代码在我的 Raspbian Raspberry Pi 上运行良好。

【讨论】:

以上是关于无法更改像素本上的 tkinter 字体的主要内容,如果未能解决你的问题,请参考以下文章

如何在字体更改时停止 Tkinter Text 小部件调整大小?

Python连载60-Tkinter布局按钮以及属性详解

ttk.Treeview - 无法更改行高

为啥在 Tkinter 中计算的字符串的像素宽度和高度因平台而异?

python3 tkinter中如何设置根窗口标题文字字体及大小和根菜单文字字体及大小?

如何在不知道小部件的字体系列/大小的情况下更改小部件的字体样式?