Tkinter不会更改字体系列

时间:2017-08-12 20:28:06

标签: python tkinter fonts python-3.6

我想更改字体系列,但它不起作用。

from tkinter import *
import tkinter.font as font

class Window:

    def __init__(self):
        root = Tk()
        def_font=font.Font(family='Times')
        root.title("Serial Conection Program")

        self.mainFrame= Frame(root)

        self.portLabel=Label(self.mainFrame, text="Port: ",font= def_font)
    ....
    ....

我正在尝试像普通font= 'Times'这样的东西,但这也行不通......

解释器可能有些问题(我使用的是python 3.6.1-anaconda3)?

There is an image( I tried to change font in label "connection" to family "Times"

3 个答案:

答案 0 :(得分:0)

究竟是怎么回事?以下内容适用于我(使用Python 3.6.2),如屏幕截图所示:

from tkinter import *
import tkinter.font as font

class Window:
    def __init__(self):
        root = Tk()
        #print(font.families())  # print list of what's available
        root.title("Serial Connection Program")

        self.mainFrame = Frame(root)
        self.mainFrame.pack()

        def_font=font.Font(family='Times')
        self.portLabel = Label(self.mainFrame, text="Port1: ", font=def_font)
        self.portLabel.pack()

        my_font=font.Font(family='Arial')
        self.portLabel = Label(self.mainFrame, text="Port2: ", font=my_font)
        self.portLabel.pack()

        root.mainloop()

win = Window()

screenshot of tkinter window with buttons with two different fonts

答案 1 :(得分:0)

我在Raspbian OS中遇到过类似的问题。

我将'Code-Bold'更改为'codebold'并且它有效。所以对你来说,也许可以尝试改变时代 - >倍。

答案 2 :(得分:0)

我在Linux中遇到了同样的问题。由于字体在Linux中受限制更大,因此您必须使用font.families()列出系统中所有可用的字体,然后从列表中选择所需的字体。