首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GtkEntry没有键盘输入

GtkEntry没有键盘输入
EN

Stack Overflow用户
提问于 2013-03-14 02:01:27
回答 2查看 861关注 0票数 2

我有以下GTK3代码:

代码语言:javascript
复制
(...)
cmd_bar = gtk_entry_new();
gtk_editable_set_editable(GTK_EDITABLE(cmd_bar), TRUE);
gtk_entry_set_visibility(GTK_ENTRY(cmd_bar), TRUE);
gtk_widget_grab_focus(GTK_WIDGET(cmd_bar));
gtk_grid_attach (GTK_GRID (grid), GTK_WIDGET(cmd_bar), 0, 1, 2, 1);
gtk_widget_show(cmd_bar);
(...)

它正确地显示了GtkEntry,但是它没有显示来自键盘的任何输入。如果我粘贴一些字符串,它通常会被接受。

我怎样才能解决这个问题?

EN

回答 2

Stack Overflow用户

发布于 2021-05-09 07:43:10

当我将应用程序从GTK3移植到GTK4时,我遇到了同样的问题,这与我能够在条目中粘贴和剪切文本的行为相同,但不能用键盘聚焦或自由插入文本。

在我的GTK3应用程序中,我已经在一些小部件上错误地将“can-聚焦”属性设置为"False“,在我的模板中(使用glade),并且当移植到GTK4时,它们似乎造成了问题。起初,我不认为“能聚焦”属性可能是问题所在,因为我的GtkEntry将其设置为真,问题是它的一个父容器的值设置为FALSE。

希望这也是你的问题,如果这不是希望这是一个其他人的解决方案。

票数 2
EN

Stack Overflow用户

发布于 2013-03-15 22:25:00

根据GtkWidget文档

[gtk_widget_grab_focus]使小部件具有其内部的GtkWindow的键盘焦点。widget必须是一个可聚焦的小部件,如GtkEntry;类似于GtkFrame的东西不能工作。 更准确地说,它必须设置GTK_CAN_FOCUS标志。使用gtk_widget_set_can_focus()修改该标志。 小部件还需要实现和映射。这是由相关信号所指示的。在创建小部件后立即抓住焦点,很可能会失败,并引发关键警告,

有关实现和地图的说明,请查看

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15399880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档