带图像和标签的Python GTK3按钮
我想要制作带有图片和文字标签的按钮,但一直没成功。我可以做出只有文字标签的按钮或者只有图片的按钮,但就是不能同时有这两者。以下是我的代码部分:
try:
pb = Pixbuf.new_from_file_at_size('myimg.jpg', 100, 100)
except:
pb = None
img = Gtk.Image()
img.set_from_pixbuf(pb)
button1 = Gtk.Button(xalign=0.5, yalign=1)
#button1.set_label(lbl)
button1.set_image(img)
button1.set_image_position(Gtk.PositionType.TOP)
button1.get_style_context().add_class("btn_article")
有没有什么好的建议呢?谢谢!
1 个回答
8
文档说明:Gtk.Button.set_image(widget,data):“如果标签文本为空,图像将会显示”。这里的图像通常是一个图标,因此它会有一个与之关联的图标名称,并且(根据设置)如果需要的话,会根据图标显示标签。反过来,标签也可以用来找到与之关联的图标,并且(如果需要)显示这个图标。
用法:
button1.set_always_show_image (True)
或者,如果这样做不成功,可以在里面创建一个容器(在你的例子中是Gtk.Grid),然后把按钮放进去,也就是:
grid = Gtk.Grid ()
img = Gtk.Image()
img.set_from_pixbuf(pb)
label = Gtk.Label ('test')
grid.attach (img, 0, 0, 1, 1)
grid.attach (label, 0, 1, 1, 1)
grid.show_all ()
button1.add (grid)