基于Tkinter的树莓派触摸屏GUI项目:唤起屏幕键盘方案问询
在树莓派Tkinter GUI中唤起屏幕键盘的实现方案
树莓派上常用的轻量屏幕键盘有onboard(官方推荐)和florence,下面是具体实现步骤:
1. 先安装屏幕键盘
如果还没装,打开终端执行:
# 安装onboard(优先推荐) sudo apt install onboard -y # 或者安装florence sudo apt install florence -y
2. Tkinter代码绑定唤起逻辑
核心是给输入组件(Entry/Text)绑定焦点进入事件,触发启动键盘的命令。示例代码如下:
import tkinter as tk import subprocess def show_keyboard(event): # 启动onboard,用florence就把"onboard"换成"florence" subprocess.Popen(["onboard"]) def hide_keyboard(event): # 可选:焦点离开时自动关闭键盘,按需启用 subprocess.Popen(["pkill", "onboard"]) root = tk.Tk() root.title("触摸GUI测试") # 输入框绑定事件 entry = tk.Entry(root, width=30) entry.pack(pady=20) entry.bind("<FocusIn>", show_keyboard) # entry.bind("<FocusOut>", hide_keyboard) # 取消注释启用自动关闭 # 多行文本框同理 text = tk.Text(root, width=30, height=5) text.pack(pady=20) text.bind("<FocusIn>", show_keyboard) # text.bind("<FocusOut>", hide_keyboard) root.mainloop()
3. 额外注意事项
- 若键盘启动无响应,检查普通用户权限:
onboard和florence默认不需要sudo就能运行。 - 可以自定义键盘位置/大小:比如
onboard --x 0 --y 400指定键盘在屏幕底部启动,或者通过系统设置里的「屏幕键盘」图形界面调整。 - 换其他第三方键盘的话,只需要替换
subprocess.Popen里的启动命令即可。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

