非常直接的问题,我有一个 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 ()
函数。它要求我将有问题的小程序和触发窗口焦点的事件的时间戳传递给它
我不确定要为时间戳输入什么。我编译了上面的代码,点击小程序还是得不到键盘焦点。
最佳答案
执行以下操作:
GtkWidget* entry = gtk_entry_new();
gtk_entry_set_editable(GTK_ENTRY(entry), TRUE);
欢迎来到 GObject 的世界 :)
请注意,如果您使用的是 gtk_editable,则需要执行以下操作:
gtk_editable_set_editable(GTK_EDITABLE(entry), TRUE);
关于c++ - 如何在 GtkEntry 中设置文本可编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2720989/