作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试进入 GTK+ 2 个盒子中的一个盒子。我会向你解释我的尝试。首先我创建 3 个盒子(1,2,3)。然后我将 box(2) 添加到第一个 box(1) 中 gtk_box_pack_start(GTK_BOX(box(1)), box(2), TRUE, TRUE, 0);之后我想用 gtk_box_pack_start(GTK_BOX(box(1)), box3, TRUE, TRUE, 0) 在 box(1) 中添加另一个框。
我认为它可以工作,但在终端中它显示 Gtk-CRITICAL **: gtk_box_pack: 断言 'gtk_widget_get_parent (child) == NULL' 失败。我不明白这个错误,因为 parent 可以有多个 child 。
那么如何将 2 个盒子添加到 1 个盒子中呢?我做错了什么?
最佳答案
对于所有也有这个问题的人。下面是在另一个框中创建 2 个框的简短代码:
GtkWidget *box;
GtkWidget *box1;
GtkWidget *box2;
box = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0); //change it to HORIZONTAL if need
box1 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
box2 = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
gtk_box_pack_start(GTK_BOX(box),box1, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(box),box2, TRUE, TRUE, 0);
gtk_widget_show(box1);
gtk_widget_show(box2);
gtk_widget_show(box);
当然,您必须添加其他元素并将盒子添加到其他容器中,但我认为现在对于遇到问题或将遇到问题的每个人来说都清楚了。
关于c - 如何在GTK+中的一个Box中添加两个Box,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35553625/
我是一名优秀的程序员,十分优秀!