python - Gtk.Settings 的默认字体错误
Posted
技术标签:
【中文标题】python - Gtk.Settings 的默认字体错误【英文标题】:python - Gtk.Settings' default font is wrong 【发布时间】:2020-02-10 15:29:04 【问题描述】:我正在开发一个 Python3 GTK 应用程序。
当我在窗口上贴标签时,它不使用系统的默认字体。
默认字体是“Ubuntu”,但它使用了一种名为“Cantarell”的字体。
(左边是python3 main.py
,右边是glade-previewer
)
我打印了默认设置:
print(Gtk.Settings.get_default().get_property("gtk-font-name"))
# Cantarell 11
这是我导入 gtk 的方式:
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import GLib, Gio, Gtk
为什么?我该如何解决这个问题?如何让它使用系统的默认字体?谢谢!
【问题讨论】:
无法重现您的行为(debian LXDE)。告诉,哪个窗口管理器? 侏儒,Ubuntu 19.04 但我认为它是关于 python 的,不是吗?我用 Vala 语言编写了相同的应用程序,它看起来与 glade-previewer 完全一样,但是 python gtk 库没有使用系统的默认字体。其实这就是重点。您在 gnome-tweaks 上设置的字体应该在基于 GTK 的应用程序上全局应用。摘要:我认为我不应该编写额外的代码来获取系统的默认字体,但是 GTK 组件应该带有默认字体。 (因为在 C 和 Vala 中,它是这样工作的) “但它是关于 python gtk”:也许,你的解释是有道理的。我明白了你的意思,即使我无法重现这一点。 【参考方案1】:哦,我想通了。
当我在 Visual Studio Code 的终端上运行 python3 main.py
时,应用程序的默认字体是 Cantarell 11
当我从 gnome-terminal 运行 python3 main.py
时,默认字体是 Ubuntu 11
所以问题不在于 python...
当我从普通终端应用程序运行时解决。
【讨论】:
以上是关于python - Gtk.Settings 的默认字体错误的主要内容,如果未能解决你的问题,请参考以下文章