如何在Tkinter中单击条目时显示默认触摸键盘?

时间:2015-11-27 16:52:16

标签: python python-3.x tkinter keyboard

我正在使用Python Tkinter库来构建我的UI,我的问题如下:

我想在点击一个条目时显示Windows 8触摸键盘。目前输入条目的唯一方法是使用物理键盘,或者使用内置键盘。

例如,我有以下内容:

addressInput = tk.Entry(self, font = "Verdana 20 ", justify="center")

我是否需要添加命令才能强制键盘弹出?如果是这样,这将如何运作。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

由于我在使用Mac,因此无法提供有关如何打开屏幕键盘的完整示例。 This question应该告诉你如何做到这一点。

但是,解决方案应该是绑定到FocusIn窗口小部件的Entry事件,如果引发了给定事件,则会调用该事件:

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

可以找到有关绑定和事件的一些常规信息here

答案 1 :(得分:0)

除了上述答案外,这对我来说还不错。 确保系统中已安装板载。

import subprocess

def callback(event):
    pop = subprocess.Popen("exec " + "onboard", stdout= subprocess.PIPE, shell=True)

答案 2 :(得分:0)

import subprocess subprocess.Popen("osk", stdout= subprocess.PIPE, shell=True)
将在Windows 10上达到目的