LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1373|回复: 2

gtk+中的窗口背景的设置问题

[复制链接]
发表于 2008-6-24 09:18:53 | 显示全部楼层 |阅读模式
长话短说,想实现一个gtk+中window背景图设置,昨天在本站中看到szjungle达人的帖子,回去试了试,发现有错误。部分源码及错误如下:

void
update_widget_bg(GtkWidget *widget, gchar *img_file)
{
        GtkStyle *style;
        GdkPixbuf *pixbuf;
        GdkPixmap *pixmap;

        gint width, height;
        
        pixbuf = gdk_pixbuf_new_from_file(img_file, NULL);

        width = gdk_pixbuf_get_width(pixbuf);
        height = gdk_pixbuf_get_height(pixbuf);

        pixmap = gdk_pixmap_new(NULL, width, height, 24);
        gdk_pixbuf_render_pixmap_and_mask(pixbuf, pixmap, NULL, 0);

        style = gtk_style_copy(GTK_WIDGET (widget)->style);

        if (style->bg_pixmap[GTK_STATE_NORMAL])
        {
                g_object_unref(style->bg_pixmap[GTK_STATE_NORMAL]);
        }
       
        1033行:style->bg_pixmap[GTK_STATE_NORMAL] = g_object_ref(pixmap);
        style->bg_pixmap[GTK_STATE_ACTIVE] = g_object_ref(pixmap);
        style->bg_pixmap[GTK_STATE_PRELIGHT] = g_object_ref(pixmap);
        style->bg_pixmap[GTK_STATE_SELECTED] = g_object_ref(pixmap);
        style->bg_pixmap[GTK_STATE_INSENSITIVE] = g_object_ref(pixmap);

        gtk_widget_set_style(GTK_WIDGET (widget), style);
        g_object_unref(style);
}

这个是szjungle的帖子留言,我在main函数中调用update_widget_bg((GTK_WIDGET)window,"/root/Desktop/jrtpSample/pic/denglejiemian.jpg");

发现有如下错误:
clientMain.cpp:1033: error: invalid conversion from ‘void*’ to ‘GdkPixmap*’
clientMain.cpp:1034: error: invalid conversion from ‘void*’ to ‘GdkPixmap*’
clientMain.cpp:1035: error: invalid conversion from ‘void*’ to ‘GdkPixmap*’
clientMain.cpp:1036: error: invalid conversion from ‘void*’ to ‘GdkPixmap*’
clientMain.cpp:1037: error: invalid conversion from ‘void*’ to ‘GdkPixmap*’
 楼主| 发表于 2008-6-25 08:59:14 | 显示全部楼层
各位达人,帮帮忙:)小弟在线等~

没人用过这个码?
回复 支持 反对

使用道具 举报

发表于 2008-7-16 15:35:52 | 显示全部楼层
背景图,我写了一个是显示图片的,跟背景没区别吧
我那是把照片全屏显示,不过窗口大小你可以改
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表