gtk.MessageDialog包含图像和背景图像

时间:2014-05-21 10:44:39

标签: python gtk pygtk

我遇到了一个在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()

由于#line 3,代码无效。是的,此代码可以使用该图像。

我猜,set_image用于设置对话框的背景。我想在对话框中添加一些图像(这次不是背景)。

此外,我试图消除基于type = gtk.MESSAGE_INFO出现的对话框中的“灯泡”,虽然我需要一个“确定”按钮。

关于我如何处理这个问题的任何想法?

1 个答案:

答案 0 :(得分: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)