You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 12:20:54