0

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を渡す

4

1 に答える 1

2

lookup_widget()Glade 2 の生成コードでのみ使用されました。support.cGlade 2 は、その関数と他の関数を含むファイル を生成するために使用されました。これはもう使用されていません。clickedGlade 3 で信号を接続するときに、エントリ ウィジェットをユーザー データ パラメータとして指定できるようになったため、次のことが可能になります。

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

text2 番目の警告は、 aにキャストしてから、 a が必要なGtkWidget *に渡すことによって発生しましgtk_entry_set_text()GtkEntry *。適切な構文はでしたが、上記のコードには既にポインターGTK_ENTRY(text)があるため、その必要はありません。GtkEntry *

于 2011-02-25T11:11:08.890 に答える