这里有一段GTK+程序,各位帮我看看,我不知道哪里出了问题。
来源: 互联网 发布时间:2015-03-16
本文导语: 这段程序很简单,我期望它每隔N秒在窗口里显示一幅图片,这些图片名我放在了数组里,为了简化,我就放了3张,暂且就叫0,1,2。 第一次按数组的顺序显示一遍,然后把数组元素(文件名)随机重新排序后再显...
这段程序很简单,我期望它每隔N秒在窗口里显示一幅图片,这些图片名我放在了数组里,为了简化,我就放了3张,暂且就叫0,1,2。 第一次按数组的顺序显示一遍,然后把数组元素(文件名)随机重新排序后再显示一遍。
我编译通过,但是它并不按照我设想的去执行。
请各位帮我看看哪里有问题?
#include
static GtkWidget *ourbmp;
static gchar *bmpfile[3]={"0.bmp","1.bmp","2.bmp"};
static gchar *newbmpfile[3]; /*为重新排序而设的新数组*/
gint w;
gint r;
gint u;
void ChangeBmp()
{ static gint i=1;
gtk_image_set_from_file(GTK_IMAGE(ourbmp),bmpfile[i]);
i++;
if(i==3)
{ i=0;
gtk_timeout_remove(u);
/*显示结束,删除时钟*/
}
}
void CloseTheApp (GtkWidget *window,gpointer data)
{
gtk_main_quit();
}
gint main(gint argc,gchar *argv[])
{
GtkWidget *window;
gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(window),300,300);
gtk_window_set_title(GTK_WINDOW(window),"bmp");
gtk_container_set_border_width(GTK_CONTAINER(window),5);
gtk_signal_connect(GTK_OBJECT(window),
"destroy",
GTK_SIGNAL_FUNC(CloseTheApp),
NULL);
ourbmp=gtk_image_new_from_file("0.bmp");
gtk_container_add(GTK_CONTAINER(window),ourbmp);
u=gtk_timeout_add(5000,(GtkFunction)ChangeBmp,NULL);
/*以下是把数组元素随机重新排序*/
for(w=0;w
我编译通过,但是它并不按照我设想的去执行。
请各位帮我看看哪里有问题?
#include
static GtkWidget *ourbmp;
static gchar *bmpfile[3]={"0.bmp","1.bmp","2.bmp"};
static gchar *newbmpfile[3]; /*为重新排序而设的新数组*/
gint w;
gint r;
gint u;
void ChangeBmp()
{ static gint i=1;
gtk_image_set_from_file(GTK_IMAGE(ourbmp),bmpfile[i]);
i++;
if(i==3)
{ i=0;
gtk_timeout_remove(u);
/*显示结束,删除时钟*/
}
}
void CloseTheApp (GtkWidget *window,gpointer data)
{
gtk_main_quit();
}
gint main(gint argc,gchar *argv[])
{
GtkWidget *window;
gtk_init(&argc,&argv);
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(window),300,300);
gtk_window_set_title(GTK_WINDOW(window),"bmp");
gtk_container_set_border_width(GTK_CONTAINER(window),5);
gtk_signal_connect(GTK_OBJECT(window),
"destroy",
GTK_SIGNAL_FUNC(CloseTheApp),
NULL);
ourbmp=gtk_image_new_from_file("0.bmp");
gtk_container_add(GTK_CONTAINER(window),ourbmp);
u=gtk_timeout_add(5000,(GtkFunction)ChangeBmp,NULL);
/*以下是把数组元素随机重新排序*/
for(w=0;w