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 图标坏了如何修复?的主要内容,如果未能解决你的问题,请参考以下文章