GTK:如何在开始时从元素中移除焦点 [英] GTK: How to remove focus from elements at start

查看:4
本文介绍了GTK:如何在开始时从元素中移除焦点的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我向一个应用程序添加了两个GtkEntry,现在当我启动应用程序时,其中一个具有焦点,看起来可以编辑了。不希望将任何焦点放在开头的任何元素上,也不希望任何文本输入元素具有焦点或被编辑。我只想让他们显示他们的文本,然后如果用户想要更改他们,他点击/跳转到文本,并输入文本,然后按Enter,它就会返回到相同的状态。(不突出显示,或其他)

推荐答案

我在第一个条目中遇到了相同的问题。 我的解决方案是添加一个虚拟条目作为第一个条目并将其隐藏,这样,尽管它获得焦点,但它是不可见的:

self.v1 = Gtk.VBox()
self.dummy_field = Gtk.Entry()  # workaround for focus of first entry
self.entry1 = Gtk.Entry('1')
self.entry2 = Gtk.Entry('2')

self.v1.pack_start(self.dummy_field, False, False, 0)
self.v1.pack_start(self.entry1, False, False, 0)
self.v1.pack_start(self.entry2, False, False, 0)

...
...

self.window.add(self.v1)
self.window.show_all()
self.dummy_field.hide() # dummy entry is hidden
Gtk.main()

这篇关于GTK:如何在开始时从元素中移除焦点的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆