Glade3 C编程按钮

时间:2011-02-25 09:06:23

标签: 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");
}

我有这些令人担忧的错误,我不知道如何解决:

  

函数'lookup_widget'的隐式声明[也解释了对'lookup_widget'的未定义引用]

     

从不兼容的指针类型

传递gtk_entry_set_text'的参数1

1 个答案:

答案 0 :(得分:2)

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

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

第二个警告是由于您将text投射到GtkWidget *,然后将其传递给期望gtk_entry_set_text()的{​​{1}}。正确的语法应该是GtkEntry *,但是你不需要再这样做,因为你在我上面编写的代码中已经有一个GTK_ENTRY(text)指针。