我有一个包含以下字段的数据库:名字,姓氏,图片。我有一个名为 infoLabel 的 gtk.Label。
我想以这样的方式更新标签:
Label.set_markup("<img src='pix/1.png'>\nName" + Firstname + " " + Lastname)
但它不起作用,因为在 Pango 标记中不允许使用 img。我怎么能做到这一点?
以下是“主页”标签的示例。
label_with_icon = gtk.HBox()
icon = gtk.image_new_from_stock(gtk.STOCK_HOME, gtk.ICON_SIZE_MENU)
label_with_icon.pack_start(icon)
label_with_icon.pack_start(gtk.Label('Home'))
label_with_icon.show_all()
我不希望能够在标签中有图像,不。
但是您应该能够用包含 GtkImage 和标签的容器替换任何标签,并以这种方式解决它。
当然,首先您必须将图像保存在本地内存中。
这是基于 John La Rooy 的回答,但我不得不做出一些调整。不知道为什么,可能是由于库的不同版本或其他原因。
label_with_icon = gtk.HBox()
icon = Gtk.Image.new_from_file("/path/to/file.png") # not .image_new_from_file
label_with_icon.pack_start(icon, False, False, 0) # this method takes five args
label_with_icon.pack_start(gtk.Label('a caption'))
label_with_icon.show_all()