Anaconda 中的 FileChooserDialog 图标坏了如何修复?

Posted

技术标签:

【中文标题】Anaconda 中的 FileChooserDialog 图标坏了如何修复?【英文标题】:FileChooserDialog icons are broken in anaconda how to fix? 【发布时间】:2020-03-29 02:49:15 【问题描述】:

我第一次尝试在 Python 中制作 GUI,我选择通过 PyGObject 使用 gtk3+。

我在 Ubuntu 18.04 中工作,我习惯于使用 Anaconda 开发一切。

我只是按照https://python-gtk-3-tutorial.readthedocs.io/en/latest/dialogs.html 的教程进行操作。

问题是当我尝试使用~/anaconda3/bin/python 调用FileChooserDialog 时,我的对话窗口中的图标似乎已损坏。但是当我使用 /usr/bin/python 时,一切都按预期工作。

Here's a picture of what the dialog looks like through anaconda

我尝试查看 org.gtk.Settings.FileChooser.gschema.xml 文件,但在其中没有看到任何有关图标的信息。

抱歉,如果这还不够信息,我刚开始使用 GUI,我还没有发现任何类似的问题,所以我不确定我应该寻找什么来解决这个问题。如果有人能指出我正确的方向,我可以补充。

谢谢!

EDIT1: 所以我试图找出 anaconda 使用的路径与系统 python 使用的路径,它们似乎是一样的?我用Gtk.IconTheme().get_search_path()

EDIT2: 我发现的最新情况是,当我为 ubuntu-mono-dark 中预期的大多数图标名称(例如“文件夹”)调用 Gtk.IconTheme().get_default().has_icon() 时,它会返回 True

但是当我调用Gtk.IconTheme().get_default().get_filename("folder", 64, 0)Anaconda python 返回AttributeError: 'NoneType' object has no attribute 'get_filename'

所以IconTheme 似乎可以正确检查图标,但是在获取实际文件时,它并不总是能找到它们,只有在使用 Anaconda python 时才会找到它们。

例如 Adwaita 主题就是如此。 Anaconda python可以从/usr/share/icons/Adwaita中的所有子目录返回图标文件,除了可伸缩的子目录。

例如,它似乎也无法从 Humanity 主题返回任何文件。即使Gtk.IconTheme().get_default().has_icon() 为其中的一个图标返回True

【问题讨论】:

【参考方案1】:

您可能缺少 Anaconda 中图标主题的包,该包存在于系统 Python 的环境中。这可能是它与 /usr/bin/python 一起使用的原因。

【讨论】:

我不确定每个版本的 python 从哪里提取图标或如何检查。出于某种原因,它们的路径相同且主题相同,但是当我使用 Gtk.IconTheme().list_icons() 时,anaconda 可用的图标较少

以上是关于Anaconda 中的 FileChooserDialog 图标坏了如何修复?的主要内容,如果未能解决你的问题,请参考以下文章

anaconda怎么运行python

获取安装在 Anaconda 中的软件包列表

Pycharm/Anaconda/Scipy 中的 DLL 加载失败

不重装anaconda升级base中的Python版本

Anaconda 中的 FancyImpute 安装

如何在 macOS 的 Spyder (Anaconda) 中正确执行 Graphviz 中的“点”?