Python Tkinter字体选择器

时间:2011-05-03 14:18:18

标签: python fonts tkinter

我正在尝试用Tkinter编写简单的记事本。我需要一些字体选择器。所以我的问题是:是否包括一个?如果没有,我在哪里可以得到一个?

感谢。

4 个答案:

答案 0 :(得分:4)

Tk(和Tkinter)在默认发行版中没有任何字体选择器。你需要创建自己的。以下是我发现的示例:Tkinter FontChooser

注意:Tk 8.6将有一个内置字体选择器对话框:FontChooser

答案 1 :(得分:1)

tkinter 中有一个字体选择器窗口,但在较新版本中已停止使用,但您仍然可以访问它。

l = ttk.Label(root, text="Hello World", font="helvetica 24")
l.grid(padx=10, pady=10)

def font_changed(font):
    l['font'] = font

root.tk.call('tk', 'fontchooser', 'configure', '-font', 'helvetica 24', '-command', root.register(font_changed))
root.tk.call('tk', 'fontchooser', 'show')

查看此链接了解更多详情:https://tkdocs.com/tutorial/windows.html

答案 2 :(得分:0)

使用rvfont模块进行字体选择器易于使用

pip install rvfont

代码:

from rvfont.rvfontchooser import FontDialog
fonts=FontDialog()

它将在字典中提供字体选项

答案 3 :(得分:0)

一个简单的字体选择器的基础可以在下面找到

import tkinter as tk
from tkinter import font


def changeFont(event):
    selection = lbFonts.curselection()
    laExample.config(font=(available_fonts[selection[0]],"16"))

root = tk.Tk()
available_fonts = font.families()


lbFonts = tk.Listbox(root)
lbFonts.grid()

for font in available_fonts:
    lbFonts.insert(tk.END, font)

lbFonts.bind("<Double-Button-1>", changeFont)

laExample = tk.Label(root,text="Click Font")
laExample.grid()



root.mainloop()

双击列表中的字体会将下面的示例文本更改为该字体。您可以使用鼠标滚轮向下滚动字体列表(或可以向其中添加滚动条)