Qt 应用程序中的默认等宽字体

Qt 应用程序中的默认等宽字体

在文件中~/.config/fontconfig/fonts.conf我设置monospaceDejaVuSansMono

<alias>
  <family>monospace</family>
  <prefer><family>DejaVuSansMono</family></prefer>
</alias>

GTK 应用程序(如文本编辑器 Pluma)遵循此设置,如果我选择 Monospace 字体,我会得到 DejaVu Sans Mono。然而,在 Qt 应用程序 TortoiseHg Workbench 中,字体 Monospace 与 Courier 关联:

在此输入图像描述

以下是 TortoiseHg 中的字体设置:

在此输入图像描述

Qt 应用程序从哪里检索其字体关联?

我可以将 TortoiseHg 中的字体设置为 DejaVu Sans Mono,但我相信解决根本问题会更有利,以便 DejaVu Sans Mono 成为所有 Qt 应用程序的等宽字体。你有什么建议吗?

我运行 Debian 12 和 TortoiseHg 版本 6.3.1,它是用 Qt-5.15.8 构建的。

编辑:在我安装该软件包之前ttf-mscorefonts-installer,DejaVu Sans Mono 是与 TortoiseHg 中的 Monospace 相关的字体。

答案1

事实证明这是 TortoiseHg 中的一个错误:

https://foss.heptapod.net/mercurial/tortoisehg/thg/-/issues/5911

明显的解决方法是在 TortoiseHg 字体设置中(显式)将字体设置为 DejaVu Sans Mono。

答案2

安装并运行qt5ct,也可以直接编辑~/.config/qt5ct/qt5ct.conf

相关内容