c - GtkAlignment 一次只能包含一个小部件
问题描述
我在 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-WARNING **: Attempting to add a widget with type GtkImage to a GtkAlignment,但作为 GtkBin 子类,GtkAlignment 一次只能包含一个小部件;它已经包含一个 GtkImage 类型的小部件
但这不是真的!这是我要添加的第一个也是唯一一个小部件!发生了什么?我在我的应用程序的另一部分做了完全相同的事情,多年来它一直运行良好。
我的环境:
- Windows XP SP3
- MinGW
- GCC 4.8.1
- GTK 2.24.10
PS 我知道我使用的是旧版本的 GTK、已弃用的小部件和古老的操作系统,但我编写代码只是为了好玩,所以我可以接受。任何帮助将不胜感激。
解决方案
问题解决了(或者说,没有问题)。
包含我上面发布的代码的函数被调用了两次。给自己打脸。
推荐阅读
- haskell - 使用堆栈为测试模块生成黑线鳕
- html - Django:为什么选项不会呈现为选中状态?
- arrays - 快速检索第一个字典值
- angular - Angular 不会在空白的部分 div 上触发(单击)事件
- selenium - WebdriverIO如何迭代具有相同选择器的元素
- scala - 在猫中使用 [T : Type] 的目的是什么?
- excel - 是否可以每天一次运行宏?
- service-worker - Navigator.serviceWorker.controller 仅适用于 webroot
- c++ - 如何在 Visual Studio 2017 [C++] 中使用 GLOP 线性求解器
- c# - 如何为我的整个网站禁用 V-validate