注意:这个问题与 Amazon AppStream 无关。这个问题是针对这个 AppStream的。
您好,我正在为我的 Linux 发行版构建一个软件中心,并且我正在尝试通过 AppStream 获取元数据。但是由于某种原因,当我尝试将 an 转换AppStreamGlib.Icon
为GdkPixbuf.Pixbuf
usingget_pixbuf()
时,它只返回 None。
我正在生成一个AppStreamGlib.Store
并创建一个字典来保存所有元数据。
for app in self.store.get_apps():
if app.get_pkgname_default() != None and self.items["apps"].get(app.get_pkgname_default()) == None:
self.items["apps"][app.get_pkgname_default()] = {}
self.items["apps"][app.get_pkgname_default()]["name"] = app.get_name()
self.items["apps"][app.get_pkgname_default()]["description"] = app.get_description()
self.items["apps"][app.get_pkgname_default()]["comment"] = app.get_comment()
self.items["apps"][app.get_pkgname_default()]["categories"] = app.get_categories()
self.items["apps"][app.get_pkgname_default()]["developer"] = app.get_developer_name()
self.items["apps"][app.get_pkgname_default()]["icon"] = app.get_icon_for_size(64, 64)
if self.items["apps"][app.get_pkgname_default()]["icon"] != None:
self.pixbuf = self.items["apps"][app.get_pkgname_default()]["icon"].get_pixbuf()
print(self.items["apps"][app.get_pkgname_default()]["icon"], self.pixbuf)
self.items["apps"][app.get_pkgname_default()]["screenshots"] = app.get_screenshots()
self.items["apps"][app.get_pkgname_default()]["license"] = app.get_project_license()
self.items["apps"][app.get_pkgname_default()]["mimetypes"] = app.get_mimetypes()
self.items["apps"][app.get_pkgname_default()]["keywords"] = app.get_keywords()
self.items["apps"][app.get_pkgname_default()]["suggests"] = app.get_suggests()
self.items["apps"][app.get_pkgname_default()]["homepage"] = app.get_url_item(As.UrlKind.HOMEPAGE)
self.items["apps"][app.get_pkgname_default()]["donate"] = app.get_url_item(As.UrlKind.DONATION)
运行它时,self.items["apps"][app.get_pkgname_default()]["icon"]
总是AppStreamGlib.Icon
像它应该的那样。AppStreamGlib.Icon.get_pixbuf
但是使用总是返回将其转换为 PixbufNone
那么,我做错了什么导致get_pixbuf
总是返回无?