Tkinter在没有输入小部件的情况下获取输入?

2024-10-01 11:26:31 发布

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

也许我的问题的标题是正确的。解释:

我有一个连接到RPI2的USB条形码扫描仪,我可以通过点击条形码扫描仪触发按钮来扫描将12位数字放入终端(例如070038348184)的条形码。这验证了条形码扫描器和RPI2可以相互作用。尽管如此,我正试图编写一个Tkinter/Python脚本来从这个扫描器获取输入,而不使用entry小部件。这个项目的本质是没有键盘,只有触摸屏。因此,我希望避免使用条目和按钮小部件将条形码扫描存储到变量中。我做了一些研究,但找不到任何明确的解决办法。最后,我希望能够触发扫描仪上的触发器,从终端获取数字并将它们存储到一个变量中,以便在Tkinter/Python脚本中使用。如有任何建议,我们将不胜感激。在


Tags: 项目脚本终端标题部件tkinter数字按钮
1条回答
网友
1楼 · 发布于 2024-10-01 11:26:31

据我所知,这个扫描器就像键盘一样工作——它直接将按键发送到程序中——所以也许可以尝试使用bind('<Key>', callback)来捕捉所有的按键操作。在

import tkinter as tk
from tkinter.messagebox import showinfo

def get_key(event):
    global code

    if event.char in '0123456789':
        code += event.char
        #print('>', code)
        label['text'] = code

    elif event.keysym == 'Return':
        #print('result:', code)
        showinfo('Code', code)

#  - main  -

root = tk.Tk()
root.geometry('100x20')

# global variables
code = ''

label = tk.Label(root, text="?")
label.pack()

root.bind('<Key>', get_key)

root.mainloop()

编辑:按照你的要求-在课堂上也是一样

^{pr2}$

相关问题 更多 >