C GdkPixbuf集合
我需要创建GdkPixBuf集合。我尝试在GList-mw->disp_列表中保存pixbufs:C GdkPixbuf集合,c,gtk,gdk,C,Gtk,Gdk,我需要创建GdkPixBuf集合。我尝试在GList-mw->disp_列表中保存pixbufs: 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(fil
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);
}
GtkTreeIter-iter;
int i=0;
对于(i;ip1=gdk_pixbuf_new_from_file(file,NULL);
mw->p1=刻度盘(mw->P1128);
mw->disp\U list=g\U list\U append(mw->disp\U list,mw->p1);
如果(!mw->img\U列表->当前->下一步)
图像列表(mw->img列表);
其他的
图像列表获取下一步(mw->img列表);
}
其中p1-它是GtkPixBuf*
但当我尝试在另一个函数中使用mw->disp_list时,我发现它是空的。怎么了
谢谢。目前我只看到一个问题,它与循环有关,应该是:
for (i = 0; i < g_list_length(list); ++i)
for(i=0;i
问题可能是-1:如果列表包含1个元素,则根本不循环,因为1-1=0且
0<0
为false。首先,我注意到for循环很奇怪;如果在for之外初始化循环变量,则不需要for的第一部分:for(;i<…
可以,而for(i;i)关于循环的另一个注释;i
是正确的;除非使用-1,否则您的意思是希望循环长度比列表长度少一个(假设您希望使用i作为“索引”);在本例中,您将错过最后一个可索引元素;如果没有-1,则列表中的每个元素将循环一次)