我正在使用这个名为code128的python模块,它以代码128条形码格式生成条形码图像。
该模块可单独工作并生成所需的条形码。但是现在我正在尝试将它与tkinter集成并让tkinter在窗口中显示它但没有运气。
Tkinter只显示一个黑色矩形,否则就是整个条形码。我对tkinter一点也不熟悉,但设法借用了一些功能代码,但由于某些原因,这个条形码的东西不起作用。
import tkinter as tk
from PIL import ImageTk, Image
import code128
#This creates the main window of an application
window = tk.Tk()
window.title("barcode test")
window.geometry("800x600")
#window.configure(background='grey')
#create a barcode image
barcode = code128.image('EL123456789US')
#barcode.show() #for testing purposes. the barcode is generated
#Creates a Tkinter-compatible photo image, which can be used everywhere Tkinter expects an image object.
img = ImageTk.PhotoImage(barcode)
#The Label widget is a standard Tkinter widget used to display a text or image on the screen.
label = tk.Label(window, image = img)
label.image = img #keep a reference!
#The Pack geometry manager packs widgets in rows or columns.
label.pack(side = "bottom", fill = "both", expand = "yes")
#Start the GUI
window.mainloop()
我可以将条形码保存到磁盘并从磁盘加载它(它确实可以工作,因为我已经尝试过了)但是我正在努力避免这种情况,因为我需要一个接一个地显示许多条形码。从磁盘保存和读取成本太高。
非常感谢任何帮助。谢谢。