通过tkinter.font的nametofont()函数,在python中生成随机的中文字体名称
import tkinter.font as tkfont
import random
def generate_random_font():
# 中文字体名称的范围
chinese_font_names = ['仿宋', '黑体', '楷体', '宋体', '微软雅黑', '华文新魏', '华文行楷', '华文仿宋',
'华文楷体', '华文宋体', '华文彩云', '华文细黑', '方正舒体', '方正姚体', '方正粗黑宋简体',
'方正中等线', '方正卡通简体', '方正琥珀简体', '方正超粗黑简体', '方正粗宋简体', '方正魏碑简体',
'方正粗圆简体', '方正苏新诗1号简体', '方正美黑简体', '方正大标宋简体', '方正启体简体', '方正硬笔行书简体']
# 随机选取一个中文字体名称
random_font_name = random.choice(chinese_font_names)
# 使用nametofont函数,获得该字体名称对应的字体对象
font_obj = tkfont.nametofont(random_font_name)
# 返回字体对象和对应的字体名称
return font_obj, random_font_name
# 生成1000个随机中文字体名称并输出
for i in range(1000):
font, font_name = generate_random_font()
print(f'{font_name}: {font}')
# 使用例子
import tkinter as tk
root = tk.Tk()
root.title("随机中文字体例子")
root.geometry("300x200")
# 生成随机字体并应用到Label控件上
font_obj, font_name = generate_random_font()
label = tk.Label(root, text="这是随机中文字体示例", font=font_obj)
label.pack()
root.mainloop()
