如何使用python打开触摸键盘?

如何使用python打开触摸键盘?,python,python-3.x,windows,tkinter,keyboard,Python,Python 3.x,Windows,Tkinter,Keyboard,我正在做一个聊天应用程序的项目,使用tkinter,运行在Python3.7和Windows10操作系统上。我想添加到我的应用程序中的一件事是打开Windows应用程序的选项 虽然您可以通过按其打开键盘,但我想通过我的应用程序访问它。我的想法是将一个条目小部件绑定到一个事件上,当事件发生时,它会使触摸键盘弹出。我可能要使用的事件是”,这意味着键盘焦点将移到它。下面是一个简单的力学示例: def open_keyboard(event): pass # open the Touch Key

我正在做一个聊天应用程序的项目,使用tkinter,运行在Python3.7和Windows10操作系统上。我想添加到我的应用程序中的一件事是打开Windows应用程序的选项

虽然您可以通过按其打开键盘,但我想通过我的应用程序访问它。我的想法是将一个条目小部件绑定到一个事件上,当事件发生时,它会使触摸键盘弹出。我可能要使用的事件是
,这意味着键盘焦点将移到它。下面是一个简单的力学示例:

def open_keyboard(event):
    pass # open the Touch Keyboard


root = Tk()
console = Entry(root, font=('Verdana', 14), cursor='pencil', bg='red', fg='yellow') # creating console
console.pack()

console.bind('<FocusIn>', open_keyboard) # bind the console to the event

root.mainloop()
我一直在互联网上寻找解决方案,但他们似乎都在处理屏幕上的键盘。如果有人知道如何帮助我或将我转移到一个解释如何处理它的源代码,他会非常欢迎这样做,因为我现在陷入困境://

试试这个(在代码注释中解释)

我认为这个目录在几乎所有的Windows安装上都是相同的,但我仍在寻找一种使它独立于路径的方法

from tkinter import *
import os

root = Tk()

def callback(event):
    # so the touch keyboard is called tabtip.exe and its located in C:\Program Files\Common Files\microsoft shared\ink
    # here we run it after focus
    os.system("C:\\PROGRA~1\\COMMON~1\\MICROS~1\\ink\\tabtip.exe")

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回调(事件):
#因此,触摸键盘名为tabtip.exe,位于C:\Program Files\Common Files\microsoft shared\ink中
#在这里,我们在焦点之后运行它
操作系统(“C:\\PROGRA~1\\COMMON~1\\MICROS~1\\ink\\tabtip.exe”)
框架=框架(根,宽度=100,高度=100)
frame.pack()
addressInput=输入(框,font=“Verdana 20”,justify=“center”)
addressInput.bind(“,回调)
addressInput.pack()
root.mainloop()

嘿,有一点很好:当我关闭键盘时,我无法再次打开它,除非我最小化窗口并再次展开它。换句话说,它只识别发生的第一个事件,而不识别随后发生的事件。我试图将事件更改为(鼠标单击事件),但似乎是相同的。你知道怎么解决吗?@roeiduvdavani这不是
事件的问题。绑定工作正常。为了处理键盘在关闭后不显示的问题,请确保在再次启动之前结束进程:os.system('wmic process where name=“TabTip.exe”delete')
from tkinter import *
import os

root = Tk()

def callback(event):
    # so the touch keyboard is called tabtip.exe and its located in C:\Program Files\Common Files\microsoft shared\ink
    # here we run it after focus
    os.system("C:\\PROGRA~1\\COMMON~1\\MICROS~1\\ink\\tabtip.exe")

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()