使用tkinter中屏幕键盘上的文本更新条目小部件

时间:2016-06-29 10:02:47

标签: python tkinter keyboard tkinter-entry

我想在覆盆子pi上运行我的代码,它附有触摸屏。 GUI是使用Tkinter制作的,我想在条目聚焦时弹出系统屏幕键盘。这是我目前的代码:

使用FocusIn事件绑定条目小部件:

self.usernameEntry.bind('<FocusIn>', self.FocusLogin)

用于调用pi中安装的屏幕键盘:

    def FocusLogin(self,event):
       os.system('florence')

我的问题是,无论我通过佛罗伦萨键盘输入什么,它都不会自动填充条目小部件。只有在我关闭键盘后才能看到我输入的内容。我已经尝试过火柴盒键盘,但它只是冻结了整个用户界面。佛罗伦萨似乎更好,但它并没有像我提到的那样更新输入字段。我希望UI能够自动显示我在输入字段中按下的键。

1 个答案:

答案 0 :(得分:0)

对于寻找答案的人,我找到了解决这个问题的两种方法:

首先,使用subprocess.popen创建UI和键盘的单独线程。这适用于板载键盘但佛罗伦萨滞后

第二种方法是在打开应用程序之前在后台运行佛罗伦萨。然后使用

florence hide
florence show

隐藏或显示要绑定的事件的佛罗伦萨。