通过tkinter列出windows系统全部字体名称

通过 tkinter.font 的 families() 函数实现


import tkinter
import tkinter.font # 把py源码都放到一个目录里 tkGUI = tkinter.Tk()
tkGUI.withdraw()
# .withdraw()可将根窗体隐藏,其作用是将窗体移动到另一个地方但并不销毁它。
# print(tkinter.font.families()) # 在IDLE里面运行可以解除此行的注释!
# wr=system_Fonts
system_Fonts = list(tkinter.font.families()) # 将元组转换为列表
# print(len(system_Fonts)) 打印list的个数
system_Fonts.sort() # 对list进行排序
# for i in system_Fonts:
# print(i)
file = open("windows-fonts22.txt", "w")
for i in system_Fonts:
file.writelines(i)
file.write('\n')
file.close() # 关闭文件
tkGUI.quit() # 推出窗口 # 不好的写法
# system_Fonts = str(tkinter.font.families()) # 将元组转换为列表
# system_Fonts = system_Fonts.replace("(","") # 将元组开头的 "(" 消除
# system_Fonts = system_Fonts.replace(")","") # 将元组结尾的 ")" 消除
# system_Fonts_List = system_Fonts.split(",") # 以","拆分,方便逐行写入字体
# font_count = len(tkinter.font.families()) # 确定元组的数量
# file = open("windows-fonts.txt", "w")
# file.writelines("There are {} fonts in this computer:{}".format(font_count,'\n'))
# for i in system_Fonts_List:
# file.writelines(i)
# file.write('\n')
# file.close() # 其他参考
# int = 1
# for i in tkinter.font.families():
# print("int={0},Font:{1}".format(int,i))
# int=int+1 # 其他参考
#fileName='fonts.txt'
#with open(fileName,'w',encoding='utf-8')as file:
# file.write(str(tkinter.font.families())) # 其他参考
# file = open("fonts_2.txt", "a")
# file.writelines(wr)
# print("file write success",len(wr))
# file.close()

通过matplotlib.font_manager列出

import matplotlib.font_manager
#help(matplotlib.font_manager)
fonts = [f.name for f in matplotlib.font_manager.fontManager.ttflist]
print(len(fonts))
for i in fonts:
print(i)

通过tkinter列出全部字体名称的更多相关文章

  1. CSS常用字体名称

    CSS样式中常用的字体名称   css中引入字体: @font-face { font-family: "AncientWar"; src: url('style/css/font ...

  2. CSS样式中常用的字体名称

    css中引入字体: @font-face { font-family: "AncientWar"; src: url('style/css/fonts/AncientWar.ttf ...

  3. 中文字体名称对照表(unicode码)及20个web安全字体

    在Web编码中,CSS默认应用的Web字体是有限的,虽然在新版本的CSS3,我们可以通过新增的@font-face属性来引入特殊的浏览器加载字体.但多数情况下,考虑各个因素的影响我们还是在尽量充分利用 ...

  4. 如何有效地让一个“ParentFont = False”子控件使用与父母相同的字体名称?

    如何有效地让一个“ParentFont = False”子控件使用与父母相同的字体名称?(How to efficiently let a `ParentFont = False` child con ...

  5. SQL server 统计数据库表数量和列出所有表名称

    统计表数量 SELECT count(*) FROM sys.objects WHERE type='U' 列出表名称  SELECT NAME  FROM sys.objects WHERE typ ...

  6. java 获取当前系统可用字体名称

    //获取系统的字体 public static void getLocalFontFamily(){ GraphicsEnvironment ge=GraphicsEnvironment.getLoc ...

  7. CSS font-family 字体名称一览表

    windows常见内置中文字体 字体中文名 字体英文名 宋体                      SimSun(浏览器默认) 黑体                      SimHei 微软雅 ...

  8. C# 获取ttf文件字体名称

    1.第一种方法 using System.Windows.Media; String fontFilePath = "PATH TO YOUR FONT"; GlyphTypefa ...

  9. 从OTF字体文件里查找字体名称

    for in ? 使用神器vim就好了. . . vim ./AKZIDENZGROTESK-COND.OTF

随机推荐

  1. k8s vs k3s: 差异解析

    Kubernetes无疑是容器编排领域的领头羊.但目前,我们看到K3s或轻量级的Kubernetes发行版,轻巧.高效.快速,占用空间极小.鉴于目前企业对于在生产环境中使用K3s还是K8s感到纠结.我 ...

  2. Blazor预研与实战

    背景 最近一直在搞一件事,就是熟悉Blazor,后期需要将Blazor真正运用到项目内.前期做了一些调研,包括但不限于 Blazor知识学习 组件库生态预研 与现有SPA框架做比对 与WebForm做 ...

  3. Affinity broken due to vector space exhaustion 问题

    dmesg 中异常打印: kernel: irq 632: Affinity broken due to vector space exhaustion. kernel: irq 633: Affin ...

  4. 给网站添加pjax无刷新,换页音乐不中断

    自从博客加了悬浮音乐播放器后就一直在折腾换页音乐不中断的功能 在网上查找后发现想要实现换页音乐不中断的功能必须要为博客加pjax,于是又苦苦寻找并尝试了一番 最后发现网上实现pjax功能基本上是两种方 ...

  5. CF600E Lomsat gelral (dfs序+莫队)

    题面 题解 看到网上写了很多DSU和线段树合并的题解,笔者第一次做也是用的线段树合并,但在原题赛的时候却怕线段树合并调不出来,于是就用了更好想更好调的莫队. 这里笔者就说说莫队怎么做吧. 我们可以通过 ...

  6. CF1167F Scalar Queries (线段树/树状数组)

    题意 题解 对于[l,r]中的一个数,不论[l,r]有多大,只有比它小的数可以影响到它的排名,那么就可以把ai从小到大排序,一个一个加入线段树中,线段树中下表为 i 的是ai(原来的位置,不是排序后的 ...

  7. 【java】学习路线2-构造、Scanner包导入、字符串操作、数组、引用类型

    请先查看前置知识: [JAVA]基础1-字符串.堆.栈.静态与引用类型 https://www.cnblogs.com/remyuu/p/15990274.html import java.util. ...

  8. HTTP协议,会话跟踪,保存作用域,servlet类跳转

    解决post的编码问题,防止中文乱码 request.setCharacterEncoding("utf-8"); HTTP协议: (1)由Request(请求)和Response ...

  9. SETTLE约束算法中的坐标变换问题

    技术背景 在之前的两篇文章中,我们分别讲解了SETTLE算法的原理和基本实现和SETTLE约束算法的批量化处理.SETTLE约束算法在水分子体系中经常被用到,该约束算法具有速度快.可并行.精度高的优点 ...

  10. k8s驱逐篇(3)-kubelet节点压力驱逐-源码分析篇

    kubelet节点压力驱逐-概述 kubelet监控集群节点的 CPU.内存.磁盘空间和文件系统的inode 等资源,根据kubelet启动参数中的驱逐策略配置,当这些资源中的一个或者多个达到特定的消 ...