我需要创建 GdkPixBuf 集合。我尝试将 pixbufs 保存在 GList - mw->disp_list:
GtkTreeIter iter;
int i = 0;
for (i; i < g_list_length(list) - 1; ++i)
{
char* file = image_list_get_current_file_path( list );
mw->p1 = gdk_pixbuf_new_from_file(file,NULL);
mw->p1 = scale_pix(mw->p1,128);
mw->disp_list = g_list_append (mw->disp_list, mw->p1);
if (!mw->img_list->current->next )
image_list_get_first(mw->img_list);
else
image_list_get_next(mw->img_list);
}
其中 p1 - 它是 GtkPixBuf*。
但是当我尝试在另一个函数中使用 mw->disp_list 时,我发现它是 NULL。怎么了?
谢谢。
最佳答案
目前我只看到一个问题,它与循环有关:</p>
for (i = 0; i < g_list_length(list); ++i)
问题可能是 -1:如果列表包含 1 个元素,则根本不循环,因为 1-1 = 0 和 0 < 0
是假的。
关于c - GdkPixbuf 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3164871/