如何在GtkEntry中设置可编辑的文本

时间:2010-04-27 12:09:27

标签: c++ gtk gnome gtk2

非常直截了当的问题,我有一个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 ()功能。它要求我传递有问题的applet和触发窗口焦点的事件的时间戳

我不确定要为时间戳添加什么。我编译了上面的代码,当我点击小程序时,我仍然无法获得键盘焦点。

1 个答案:

答案 0 :(得分:4)

执行以下操作:

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

欢迎来到GObject世界:)

请注意,如果您使用的是gtk_editable,则需要执行以下操作:

gtk_editable_set_editable(GTK_EDITABLE(entry), TRUE);