Python 在Tkinter中单击条目时如何显示默认触摸键盘?
我正在使用Python Tkinter库构建我的UI,我的问题如下: 我想在单击条目时显示windows 8触摸键盘。目前输入条目的唯一方法是使用物理键盘或内置键盘 例如,我有以下几点:Python 在Tkinter中单击条目时如何显示默认触摸键盘?,python,python-3.x,tkinter,keyboard,Python,Python 3.x,Tkinter,Keyboard,我正在使用Python Tkinter库构建我的UI,我的问题如下: 我想在单击条目时显示windows 8触摸键盘。目前输入条目的唯一方法是使用物理键盘或内置键盘 例如,我有以下几点: addressInput = tk.Entry(self, font = "Verdana 20 ", justify="center") 我是否需要添加命令以强制键盘弹出?如果是,这将如何工作 如果有任何帮助,我们将不胜感激。由于我正在使用Mac电脑,因此无法提供有关如何打开屏幕键盘的完整示例。我应该告诉你
addressInput = tk.Entry(self, font = "Verdana 20 ", justify="center")
我是否需要添加命令以强制键盘弹出?如果是,这将如何工作
如果有任何帮助,我们将不胜感激。由于我正在使用Mac电脑,因此无法提供有关如何打开屏幕键盘的完整示例。我应该告诉你怎么做 但是,解决方案应该是将
聚焦于
事件绑定到条目
小部件,如果引发给定事件,则调用该小部件:
from tkinter import *
root = Tk()
def callback(event):
# TODO: Open keyboard here and remove print statement
print("focus in event raised, open keyboard")
frame = Frame(root, width=100, height=100)
frame.pack()
addressInput = Entry(frame, font = "Verdana 20 ", justify="center")
addressInput.bind("<FocusIn>", callback)
addressInput.pack()
root.mainloop()
从tkinter导入*
root=Tk()
def回调(事件):
#TODO:在此处打开键盘并删除打印语句
打印(“引发事件时聚焦,打开键盘”)
框架=框架(根,宽度=100,高度=100)
frame.pack()
addressInput=输入(框,font=“Verdana 20”,justify=“center”)
addressInput.bind(“,回调)
addressInput.pack()
root.mainloop()
可以找到一些关于绑定和事件的一般信息。再加上上面的答案,这对我来说效果很好。 确保您的系统中安装了onboard
import subprocess
def callback(event):
pop = subprocess.Popen("exec " + "onboard", stdout= subprocess.PIPE, shell=True)
导入子流程subprocess.Popen(“osk”,stdout=subprocess.PIPE,shell=True)
将在windows 10上执行此操作演示如何打开屏幕键盘。此外,您应该考虑将函数绑定到Entry widget的
事件中的焦点,以便调用一个函数,然后打开屏幕键盘。感谢您的解决方案以及添加到链接中的内容。我有两个顾虑:1)如果输入失去焦点后键盘存在,那就太好了2)它会将操作系统键盘作为一个单独的窗口触发,而不是作为应用程序中的顶级弹出窗口触发。这是因为应用程序是在全屏模式下运行的,当键盘在应用程序仍处于显示状态时被触发,底部的windows开始菜单将显示,因为它的焦点现在作为一个单独的窗口在键盘上,而不是全屏,因为我没有windows机器,所以我无法对此进行更详细的测试。很抱歉。。。