GTK + 3でキーボード入力を得るために使用する信号/関数は何ですか?GTK + 3でキーボードイベントを処理するにはどうすればよいですか?
私は、GTK + 3(zetcodeとgnome developer)のカバーについて知っている唯一のチュートリアルは、それをカバーしていないようです。
誰でも正しい方向に向けることができますか?
GTK + 3でキーボード入力を得るために使用する信号/関数は何ですか?GTK + 3でキーボードイベントを処理するにはどうすればよいですか?
私は、GTK + 3(zetcodeとgnome developer)のカバーについて知っている唯一のチュートリアルは、それをカバーしていないようです。
誰でも正しい方向に向けることができますか?
アドバイスをいただきありがとうございました。本当に助かりました。私は失われてしまったので、私の質問はCコミュニティの一部の伝統的なdownvotingを免れるにはあまりにも一般的すぎるでしょう。ここでは、GTK3のキーボードイベントをどのように処理するかを要約します。私はGTK3を他の場所に組み込むことができないので、便利です。
GTK + 3を使用していて、スペースキーを押したときにアプリケーションが何かをしたとします。これは、あなたがそれを行う方法です:あなたはkeyboard_pressでウィンドウを接続-Then
gtk_widget_add_events(window, GDK_KEY_PRESS_MASK);
:
はあなたGdk.Windowため#GDK_KEY_PRESS_MASKマスクを有効に-first ()関数:
g_signal_connect (G_OBJECT (window), "keyboard_press", G_CALLBACK (on_key_press), NULL);
-defineあなたkeyboard_press()何かにスペースキーが押された後:
gboolean my_keypress_function (GtkWidget *widget, GdkEventKey *event, gpointer data) {
if (event->keyval == GDK_KEY_space){
printf("SPACE KEY PRESSED!")
return TRUE;
}
return FALSE;
}
それは g_signal_connect(G_OBJECT(ウィンドウ)、 "key_press_event" だ、G_CALLBACK(on_key_press)、NULL );
少しの要約と一緒にこの関数のドキュメントのソースにリンクを追加することをお勧めします – K3v1n
答えにいくつかの説明を追加してください。 –
ありがとうございます - 私はそれを行ってくれます! – PintoDoido
@xingそれを回答に入れたいかもしれません – cubrr