Python 通过条形码扫描触发回调函数

Python 通过条形码扫描触发回调函数,python,tkinter,callback,barcode-scanner,Python,Tkinter,Callback,Barcode Scanner,我目前正在构建一个仪表板程序,用于跟踪实验室中的设备流程。我正在尝试添加一个脚本,当扫描设备的条形码时,该脚本将触发倒计时。仪表板的GUI是用tKinter构建的 我目前有以下脚本,但它确实不可靠,无法使用实验室中使用的大约80%的条形码: self.text = '' def key(event): self.text += event.char print (&

我目前正在构建一个仪表板程序,用于跟踪实验室中的设备流程。我正在尝试添加一个脚本,当扫描设备的条形码时,该脚本将触发倒计时。仪表板的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)
self.text=''
def键(事件):
self.text+=event.char
打印(“按下”,self.text)
def接受_扫描(事件):
now=datetime.datetime.now()
如果self.text.startswith('equipment-'):
self.text=self.text.lower()
#self.text='.'+str(self.text)
打印(self.text)
target=self.map\u canvas.nametWidget(self.text)
打印(目标)
启动运行(self.text、target、late\u time=None)
self.text=“”
master.bind(“,键)
master.bind(“,接受扫描)和master.bind(“,接受扫描)
其中设备-是所有设备条形码使用的前缀。剩下的部分是重新格式化输入以匹配它引用的tkinter小部件名称,而
initiate\u run
是我想要触发的回调


有没有更好的办法?我感觉条形码使用了不同的转义字符或一些我在绑定脚本中没有涉及的内容,但我无法真正查看条形码以了解它们是什么。

这似乎不是应用程序的问题,而是外部条件,例如条形码的打印质量,条形码扫描器的读取性能以及如何保持/读取条形码的可能性更大。似乎这不是应用程序的问题,而是外部条件,例如条形码的打印质量、条形码扫描器的读取性能以及如何保持/读取条形码的可能性更大。