欢迎访问宙启技术站
智能推送

通过tkinter.font的nametofont()函数,在python中生成随机的中文字体名称

发布时间:2024-01-13 16:32:03

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()