通过条形码扫描触发回调功能

问题描述

我目前正在构建一个仪表板程序,该程序可以跟踪实验室中的设备过程。我正在尝试添加一个脚本,该脚本将在扫描设备的条形码时触发倒数计时器。仪表板的GUI是使用tKinter构建的。

我目前有以下脚本,但是它确实不可靠,并且在实验室中使用的条形码中约有80%无法使用:

        self.text = ''
        def key(event):
            
            self.text += event.char
            
            print ("pressed",self.text)
            
        def accept_scan(event):
            now = datetime.datetime.now()
            if self.text.startswith('EQUIP-'):
                self.text = self.text.lower()
                # self.text = '.' + str(self.text)
                print(self.text)
                target = self.map_canvas.nametowidget(self.text)
                print(target)
                initiate_run(self.text,target,late_time = None)
                
                   
            self.text = ""
            
        master.bind("<Key>",key)
        master.bind("<Return>",accept_scan) AND master.bind("<Tab>",accept_scan)

其中EQUIP-是所有设备条形码使用的前缀。其余的将重新格式化输入以匹配它引用的tkinter窗口小部件名称,而initiate_run是我要触发的回调。

是否有更好的方法来解决此问题?我感觉到条形码使用了不同的转义字符或绑定脚本中未涵盖的内容,但是我无法真正查看条形码以了解它们是什么。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)