带图像和背景图的gtk.MessageDialog
我遇到了一个函数,用来在gtk对话框中插入图片。但是它有点问题,没法正常工作。
messagedialog = gtk.MessageDialog(parent=None, flags=0, type=gtk.MESSAGE_INFO, buttons=gtk.BUTTONS_OK,\
message_format="Congratulations..!!")
messagedialog.set_image('scoreimg') #line 3
action_area = messagedialog.get_content_area()
lbl2=gtk.Label("Awesome")
action_area.pack_start(lbl2)
messagedialog.show_all()
messagedialog.run()
messagedialog.destroy()
这个代码之所以不工作,是因为第3行的原因。没错,代码中是有图片的。
我猜,set_image是用来设置对话框的背景的。我这次想在对话框中添加一些图片(而不是背景)。
另外,我还想去掉对话框中根据类型为gtk.MESSAGE_INFO出现的“灯泡”,不过我还是需要一个“确定”按钮。
有没有什么建议可以让我继续进行呢?
1 个回答
0
这里是Gtk3,基本上和之前的版本差不多。
messagedialog = Gtk.MessageDialog (None, Gtk.DialogFlags.MODAL, Gtk.MessageType.INFO,\
Gtk.ButtonsType.OK, "Congratulations..!!")
""" Assume you have it """
scoreimg = Gtk.Image ()
scoreimg.set_from_file ("yourpathhere") #or whatever its variant
messagedialog.set_image (scoreimg) #without the '', its a char
action_area = messagedialog.get_content_area()
lbl2=Gtk.Label("Awesome")
action_area.add(lbl2)
messagedialog.show_all()
messagedialog.run()
messagedialog.destroy()
注意:“set-image”这个属性会覆盖掉灯泡图标(来自gnome-hicolor)。