Python Tkinter 菜单,如何更改字体?

5

许多网站声称“菜单小部件”有一个“字体”选项,但我一直无法设置它。系统是在Windows 8.1上运行的Python 3.5。脚本开始:

  1. from tkinter import *
  2. root = Tk()
  3. root.geometry('1400x800+120+40')
  4. .
  5. .
  6. menubar = Menu(root)

以下所有行均失败:

1. root.configure(font = ('Verdana',14))
2. root.option_add("*Font", ('Verdana', 14))
3. menubar = Menu(root, font = ('Verdana', 14))
4. menubar.configure(font = ('Verdana', 14))
5. menubar.add_command(label = "File", font = ('Verdana', 14))
6. default_font = Font.nametofont('Verdana')
7. default_font.configure(size = 14)

*Most of above give error " unknown option 'font' "*    

1
这个问题在这里被提出,但似乎在Windows和OSX上无法更改菜单字体。 - scotty3785
4个回答

3

感谢scotty3785的帮助。通过更改Windows中的菜单字体问题已得到解决:

Windows系统 > 控制面板 > 外观和个性化 > 显示 > 更改文本大小 > 选择菜单

现在tkinter的菜单字体变大了。

可能可以说Python的tkinter并非完全跨平台。


3

我通过更改修复了它。

root.option_add("*Font", ('Verdana', 14))

to

root.option_add("*Font", 'Verdana 14')

:)


2

以下是更改字体的方法:

menubar.config("Verdana", 14)

menubar.add_command(label="某物", font=("Verdana", 14))


2
无法在Windows 10上运行:TypeError:configure()需要1到2个位置参数,但给出了3个。另一种方法可以工作,但不会改变任何内容。 - ViktorMS

1

我能够在Python 3.6中使用自定义字体,像这个帖子中描述的那样,更改菜单项的字体:

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

以下是向tk菜单实例添加自定义字体的示例:

default_font = tkfont.nametofont("TkDefaultFont")
custom_font = tkfont.Font(family=default_font['family'], size=default_font['size'])
menu.add_command(label="Something", command=do_something, font=custom_font)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接