做了一个条形码生成器,能保存条形码,但是不能正常读取条形码,
报错行 lab = tkinter.Label(b10_tk, image=photo1, width=100, height=50)
报错信息 _tkinter.TclError: image "pyimage1" doesn't exist
这是为什么
b10_tk = tkinter.Tk()
b10_tk.geometry('1200x900')
b10_tk.title('条形码生成')
# os.mkdir('txm') # 创建一个文件夹,将生成的图片放入文件夹里
def b():
zhi = ent.get('1.0', 'end-1c').split('\n') # 获取text中所有的值
for i in zhi:
global run5
if not run5:
break # 可以再添加一个entry框,即可实现多种格式条形码生成
b10_a = barcode.get('code128', i, writer=ImageWriter())
b10_a.save(i) # 保存条形码图片到本地
b10_image = Image.open(i + '.png')
photo1 = ImageTk.PhotoImage(b10_image) # 读取文件夹下图片,写入到label中
lab = tkinter.Label(b10_tk, image=photo1, width=100, height=50)
lab.place(x=0, y=150)
b10_tk.after(int(ent1.get()))
lab.destroy()
def c():
global run5
run5 = True
yunxin = Thread(target=b, args=())
yunxin.start()
if not run:
yunxin.join()
com = tkinter.Button(b10_tk, command=c, text='开始')
com.place(x=0, y=0)
ent1 = tkinter.Entry(b10_tk)
ent1.place(x=50, y=0)
ent1.insert('1', '3') # 默认条形码停顿时间3秒
lab_tingzhi = tkinter.Label(b10_tk, text='条形码停顿时间', fg='#f00')
lab_tingzhi.place(x=120, y=0)
ent = tkinter.Text(b10_tk)
ent.place(x=50, y=20)
b10_tk.mainloop()