Frage

ziemlich geradlinig Frage, ich habe einen GtkEntry Widget habe, dass ich festlegen mag editierbar sein. Ich weiß, dass die Funktion soll ich verwenden ist:

gtk_editable_set_editable

Aber ich weiß nicht, wie es einen GtkEntry Widget als Argument nehmen machen

Hier ist der Code, den ich mit:

GtkWidget *TextEntry;
TextEntry = gtk_entry_new();

gtk_entry_set_visibility(GTK_ENTRY(TextEntry), TRUE);
gtk_entry_set_editable(GTK_ENTRY(TextEntry), TRUE);
gtk_entry_set_overwrite_mode(GTK_ENTRY(TextEntry), TRUE);
gtk_widget_set_can_focus(GTK_WIDGET(TextEntry), TRUE);
gtk_widget_grab_focus(TextEntry);

panel_applet_request_focus(applet, 10);
gtk_container_add (GTK_CONTAINER (applet), TextEntry);

gtk_widget_show_all (GTK_WIDGET (applet));

So weit Tastaturfokus immer, ich glaube, ich die panel_applet_request_focus () Funktion benötigen. Es erfordert, dass ich es das Applet in Frage und den Zeitstempel des Ereignisses übergeben Auslösen des Fensterfokus

Ich bin nicht sicher, was für den Zeitstempel setzen in. Ich den Code kompiliert, wie oben, und ich kann immer noch nicht den Tastaturfokus erhalten, wenn ich das Applet klicken.

War es hilfreich?

Lösung

wie folgt vor:

GtkWidget* entry = gtk_entry_new();
gtk_entry_set_editable(GTK_ENTRY(entry), TRUE);

Willkommen in der Welt von GObject:)

Beachten Sie, dass, wenn Sie gtk_editable verwendet haben, müssen Sie tun:

gtk_editable_set_editable(GTK_EDITABLE(entry), TRUE);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top