我在Glade中制作了一个GUI。我有这种结构:
_一个名为winTimer的GtkWindow
__一个GtkVBox
___ GtkHBox
____一个名为alignTimer的GtkAlignment,里面绝对没有任何内容。
我愿意:
controlli->alignTimer=GTK_WIDGET(gtk_builder_get_object(builder,"alignTimer"));
controlli->pbTimerComposito = gdk_pixbuf_new(GDK_COLORSPACE_RGB,0,8,320,200);
controlli->imgTimer = GTK_WIDGET(gtk_image_new_from_pixbuf(controlli->pbTimerComposito));
gtk_container_add(GTK_CONTAINER(controlli->alignTimer),controlli->imgTimer); /* warning */
gtk_widget_show(controlli->imgTimer);
controlli 是指向具有以下特征的结构的指针:
GtkWidget *alignTimer;
GdkPixbuf *pbTimerComposito;
GtkWidget *imgTimer;
我在运行时得到这个:
Gtk-警告**:试图将类型为GtkImage的小部件添加到GtkAlignment中,但是作为GtkBin子类,GtkAlignment一次只能包含一个小部件。它已经包含
GtkImage类型的小部件
但这不是事实!这是我要添加的第一个也是唯一的小部件!发生了什么?我在应用程序的另一部分做了完全相同的事情,并且已经运行了好几年了。
我的环境:
-Windows XP SP3
-MinGW
-GCC 4.8.1
-GTK 2.24.10
PS我知道我正在使用旧版本的GTK,不推荐使用的小部件和古老的OS,但是我只是出于娱乐目的而编写代码,因此我对此表示满意。任何帮助将不胜感激。
答案 0 :(得分:1)
问题解决了(或者说没有问题)。
包含我上面发布的代码的函数被两次调用。我自己的Facepalm。