如何在 Tkinter 标签中使用 Segoe 字体?

问题描述 投票:0回答:2

我正在尝试为我的 tkinter GUI 提供现代的外观。这是我正在使用的语法,但没有任何运气。任何帮助都会非常有帮助!

from Tkinter import *
my_font=("Segoe UI", 20, "bold")

root =Tk()
root.geometry("800x480)
Label=(root, text="my label", font = my_font).place(x=320, y=10)

root.mainloop()
python python-2.7 tkinter
2个回答
2
投票

我的回答主要针对两点

  1. 您可以在
    tkinter
  2. 中立即使用哪些字体系列
  3. 如果您想要使用的家庭无法立即可用,您可以做什么。

可用字体系列

Python 2

>>> from Tkinter import Tk
>>> from tkFont import families
>>> Tk(); available = families()   ### Tk() is needed to have a running tcl interpreter
<Tkinter.Tk instance at 0x7f977bcbfb90>
>>> len(available)
3011

Python 3

>>> from tkinter import Tk
>>> from tkinter.font import families
>>> Tk() ; available = families()
<tkinter.Tk object .>
>>> len(available)
68

此时,您可以检查可打印的字体,排序切片等

available
的内容 - 注意列出的名称是您必须在示例代码中的字体定义元组中使用的名称。

添加字体

据我所知,这通常可以作为一种依赖于系统的(复杂的)黑客来完成,并且唯一发布的一个是ONLY适用于Windows。

所说的黑客行为(我会重复:仅限Windows)在这个SO答案中报告。

我一般不知道如何进行。


脚注

Python 2 的 3011 字体系列和 Python 3 的 68 字体系列?是的,Python 2 是

apt
在我的 Debian 电脑上安装的 Python 系统,而 Python 3 是 Anaconda 的系统,只能看到 Anaconda 在其私有树中安装的字体。


0
投票

您需要包装标签。这就是为什么不运行。 标签.pack()

© www.soinside.com 2019 - 2024. All rights reserved.