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

时间:2017-12-10 06:47:31

标签: python python-2.7 tkinter

我试图给我的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()

1 个答案:

答案 0 :(得分:2)

我的回答是要解决两点

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

    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的内容 - nb列出的名称是您必须在字体定义元组中使用的名称,如示例代码中所示

    添加字体

    据我所知,这通常可以作为系统依赖(复杂)黑客攻击,而唯一发布的黑客只能 ONLY

    this SO answer报告(我将重复:仅限Windows)。

    我不知道如何进行。

    脚注

    Python 2的3011字体系列和Python 3的68字体系列?是的,Python 2是由apt在我的Debian pc上安装的系统Python,而Python 3是Anaconda的,只看到Anaconda在其私有树中安装的字体。