从GJS中的资源加载Gtk.Image

从GJS中的资源加载Gtk.Image,gtk,gnome,gjs,Gtk,Gnome,Gjs,我试图从资源中加载一个Gtk.Image,但我无法找出我做错了什么 我的gresource.xml中有png <?xml version="1.0" encoding="UTF-8"?> <gresources> <gresource prefix="/com/mydomain/MyApp"> <file preprocess="xml-stripblanks">app-menu.ui</file> <file

我试图从资源中加载一个Gtk.Image,但我无法找出我做错了什么

我的gresource.xml中有png

<?xml version="1.0" encoding="UTF-8"?>
<gresources>
  <gresource prefix="/com/mydomain/MyApp">
    <file preprocess="xml-stripblanks">app-menu.ui</file>
    <file preprocess="xml-stripblanks">main.ui</file>
    <file>application.css</file>
    <file>logo.svg.png</file>
  </gresource>
</gresources>

但是我总是得到一个坏的图像。

正如niyasc指出的,我必须删除resource://前缀

尝试而不给出
resource:
前缀。另外,请确认是否提到要安装的
gresources
文件。是的,删除资源://修复它。谢谢
let imgWidget = new Gtk.Image();
imgWidget.set_from_resource('resource:///com/mydomain/MyApp/logo.svg.png');