Как установить текст редактируемый в GtkEntry - PullRequest
1 голос
/ 27 апреля 2010

Довольно простой вопрос, у меня есть виджет GtkEntry, который я хочу установить для редактирования.Я знаю, какую функцию я должен использовать:

gtk_editable_set_editable

Но я не знаю, как заставить его принять GtkEntry виджет в качестве аргумента

Вот код, который яиспользуя:

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));

Что касается фокусировки на клавиатуре, думаю, мне нужна функция panel_applet_request_focus ().Это требует, чтобы я передал ему соответствующий апплет и метку времени события, запускающего фокус окна

Я не уверен, что ввести для метки времени.Я скомпилировал код, как указано выше, и до сих пор не могу получить фокус клавиатуры, когда нажимаю на апплет.

1 Ответ

4 голосов
/ 27 апреля 2010

Выполните следующие действия:

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

Добро пожаловать в мир GObject:)

Обратите внимание, что если вы использовали gtk_editable, вам нужно сделать:

gtk_editable_set_editable(GTK_EDITABLE(entry), TRUE);
...