处理"将孩子添加到Gtk.Box"事件

时间:2018-05-03 12:50:15

标签: gtk gtk3 pygobject

据我所知,我可以订阅Gtk.Box信号"添加孩子":

box.connect("add", self.__add_to_switch_list)

当我按box.add(child)添加子项时会调用它,并且它正在工作。

但我如何使用box.pack_start()方法做同样的事情?

2 个答案:

答案 0 :(得分:1)

没有办法。

仅当您调用GtkContainer.add()时才会发出

"add"。 该信号的第一个处理程序是子类'方法。例如,GtkBox执行此操作:

/* gtk_box_class init: */
container_class->add = gtk_box_add;
...

static void
gtk_box_add (GtkContainer *container,
         GtkWidget    *widget)
{
  GtkBoxPrivate *priv = GTK_BOX (container)->priv;

  gtk_box_pack_start (GTK_BOX (container), widget,
                      priv->default_expand,
                      TRUE,
                      0);
}

答案 1 :(得分:0)

very same bug report中,@ ebassi告诉您可以连接到子窗口小部件的adminTelNumber信号。如果你不知道父母何时有一个新的孩子,你可以知道一个孩子什么时候有一个新的父母,这大致相同。