其中';s处理';文本更改::插入';Gtk中的信号?
我正在试图追踪Gtk中的一些代码。我必须在以下章节中介绍这一部分: 但是我找不到其中';s处理';文本更改::插入';Gtk中的信号?,gtk,signals,gtk3,gnome,Gtk,Signals,Gtk3,Gnome,我正在试图追踪Gtk中的一些代码。我必须在以下章节中介绍这一部分: 但是我找不到text changed::insert信号的回调 我尝试了Google ing,并克隆了代码的git repo,尝试了信号名的grepping(有无插入细节),以及名称中包含文本或更改的所有回调,但什么都没有 如何找到处理该信号发射的代码?来自@José的评论让我意识到这个问题的措辞有多么糟糕,因此澄清一下 我有一个非常简单的c程序,可以进行以下调用: gtk_entry_set_text(GTK_ENTRY(en
text changed::insert
信号的回调
我尝试了Google ing,并克隆了代码的git repo,尝试了信号名的grepping(有无插入
细节),以及名称中包含文本
或更改
的所有回调,但什么都没有
如何找到处理该信号发射的代码?来自@José的评论让我意识到这个问题的措辞有多么糟糕,因此澄清一下 我有一个非常简单的c程序,可以进行以下调用:
gtk_entry_set_text(GTK_ENTRY(entry), "thisisthetext");
我试图跟踪这行代码是如何在控件中实际更新文本的——很可能一直到X的源代码中
所以,我接了电话
- 根据,
实际调用gtk\u entry\u set\u text
,然后调用gtk\u editable\u delete\u text
gtk\u editable\u insert\u text
- 然后,根据,
调用gtk_editable_insert_text
do_insert_text
- 等等
g\u signal\u emit\u by\u name(…)
函数处结束。所以我对这个函数是如何调用的感到困惑。答案当然不是
这个问题已经没有必要了。我已经将文本插入到btree中,仍然是gtk代码,特别是:
这是信号发射。也许我没听清你的问题。谢谢你的评论。我知道那是信号发射。我的问题基本上是:在哪里可以找到处理信号发射的代码?连接到该信号的代码。您必须使用g_signal_connect创建它,该代码只会发出一个信号,然后附加回调来处理它。
gtk_entry_set_text(GTK_ENTRY(entry), "thisisthetext");
_gtk_text_btree_insert (iter, text, len);