如何在 pyqt5 中 fix/hide `Unable to enumarate family warning`?

How to fix/hide `Unable to enumarate family warning` in pyqt5?

每次我 运行 我的 python 脚本都会遇到这个警告:

qt.qpa.fonts: Unable to enumerate family

出现此警告的原因可能是什么?如何修复此警告?如果无法修复此警告,如何隐藏或静音?

编辑: 我已尝试安装警告中的所有字体,但它仍然存在。

警告在图片的左侧,我的Windows10系统安装的字体列表在右侧。

警告只是给开发者的提示,不是错误。 您可以使用以下方法隐藏此警告:

import warnings
warnings.filterwarnings('ignore')

我不确定这个警告,但我认为当 PyQt5 在您的系统中找不到任何字体时经常会出现这个警告。

通常这意味着您的系统上没有安装字体。 所以,尝试安装它们。

大多数字体安装在 /usr/share/fonts 目录中。 您可以使用命令安装字体:

sudo apt-get install xfonts-100dpi xfonts-75dpi xfonts-scalable xfonts-cyrillic

如果您使用的是其他发行版,您可以搜索类似的命令并安装字体。

终于找到问题了!警告中列出的字体与 PyQt5 不兼容,所以我只需要删除它们。 This is the link on how to delete fonts in Windows 10 (From www.tenforums.com).

  1. Win+R键打开运行,在运行中输入regedit,然后click/tap确定打开注册表编辑器。

  2. 导航到注册表编辑器左窗格中下方的键。 (见下面的截图) HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Fonts

  3. 在“字体”键的右侧窗格中,右键单击要删除的字体的字符串值(例如:“Agency FB Bold (TrueType)”),然后click/tap 删除。 (见上面的截图)

Be sure to make note of the font file name (ex: "AGENCYB.TTF") you are deleting before you delete the string value.

  1. Click/tap 是确认。 (见下面的截图)

  2. 完成删除字体后,关闭注册表编辑器。

  3. 退出并重新登录同一帐户。

  4. 打开文件资源管理器 (Win+E)。

  5. 复制并粘贴 %LocalAppData%\Microsoft\Windows\Fonts 到文件资源管理器的地址栏,然后按 Enter。

  6. 删除上面步骤 3 中引用的相同字体(例如:“AGENCYB.TTF”)。 (见下面的截图)

  7. 您现在可以根据需要关闭文件资源管理器。