如何在不中断tkinter主循环的情况下运行函数,同时也将该函数中的信息发送到主循环中的小部件?

2024-07-04 05:20:31 发布

您现在位置:Python中文网/ 问答频道 /正文

抱歉,如果有人问过这个问题,但我找不到一个明确的答案。我正在写一个GUI来从一个树莓pi控制一个马达,它在一个触摸屏上。我已经写了一些代码,当输入小部件进入焦点时打开内置的火柴盒键盘,但这会在后台中断我的整个tkinter窗口,这意味着用户在关闭键盘之前无法看到他们正在输入的内容出现在输入中,而且当屏幕挂在背景上时,它经常会流泪,看起来很恐怖。是否仍要运行此命令: def createNumpad(event=none): os.system('matchbox-keyboard numpad') 这样键盘打开时tkinter窗口就不会冻结?谢谢!你知道吗


Tags: 答案代码用户内容屏幕部件tkinterpi
1条回答
网友
1楼 · 发布于 2024-07-04 05:20:31

这是SO answer中的相关代码,已更改为适合Tkinter:

import subprocess

def createNumpad(event)
    try:
        subprocess.Popen(["matchbox-keyboard", "numpad"])
    except FileNotFoundError:
        pass

def deleteNumpad(event):
    subprocess.Popen(["killall","matchbox-keyboard"])

#
entry.bind("<Enter>", createNumpad)
entry.bind("<Leave>", deleteNumpad)

相关问题 更多 >

    热门问题