c - Glade3 C 编程按钮

标签 c gtk glade

我非常不知道 GTK+Glade3 编程的语法如何。 但现在我正在尝试制作一个简单的程序,当我单击按钮时会更改文本

void on_CLICK_clicked (GtkButton *button, gpointer user_data)
{
    GtkWidget *text = lookup_widget(GTK_WIDGET(button), "entry1");
    gtk_entry_set_text(GTK_WIDGET(text), "Hello");
}

我遇到了这些令人震惊的错误,但我不知道如何解决:

implicit declaration of function 'lookup_widget' [which also explains the undefined reference to 'lookup_widget']

passing argument 1 of gtk_entry_set_text' from incompatible pointer type

最佳答案

lookup_widget()仅在 Glade 2 的生成代码中使用。 Glade 2 用于生成文件 support.c ,其中包含该函数和其他函数。这个已经不再使用了。现在,当您连接clicked时,您可以将条目小部件指定为用户数据参数。 Glade 3 中的信号,因此您可以执行以下操作:

void on_CLICK_clicked (GtkButton *button, GtkEntry *text)
{
    gtk_entry_set_text(text, "Hello");
}

第二个警告是由您转换 text 引起的到 GtkWidget *然后将其传递给gtk_entry_set_text()预计 GtkEntry * 。正确的语法是 GTK_ENTRY(text) ,但您不再需要这样做,因为您已经有了 GtkEntry *我上面写的代码中的指针。

关于c - Glade3 C 编程按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5115392/

相关文章:

c++ - 类型转换双 float 的开销?

将 4 个整数的结构转换为 float

无法在 GtkTreeView 可编辑行中使用键盘键入(但可以右键单击+粘贴)

c++ - GTK+ 3 native 文件选择器 - 允许的文件类型和默认文件名

无法在 TreeView 中切换复选框

c - 从函数返回 NULL 值到 C 中的指针

c++ - char *foo 与 char* foo

python - 在 Python GTK3 中收听 Control + 鼠标滚轮滚动事件

css - 带有 GTK+ 3.20 的所有带有 CSS 文件的 GtkTextView 的单字体

gtk - 如何找出 GTK+ 信号需要哪些 GDK 事件?