0

我正在使用这个名为code128的 python 模块,它生成 code 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()

我可以将条形码保存到磁盘并从磁盘加载(它确实有效,因为我已经尝试过了)但我试图避免这种情况,因为我需要一个接一个地显示许多条形码。从磁盘保存和读取成本太高。

任何帮助将不胜感激。谢谢你。

4

0 回答 0