Untitled
unknown
plain_text
2 years ago
1.9 kB
8
Indexable
import tkinter as tk
from tkinter import ttk, messagebox
from barcode import EAN13, Code128
from barcode.writer import ImageWriter
class BarcodeGenerator:
def __init__(self, root):
self.root = root
self.root.title("Generator kodów kreskowych")
self.label_type = ttk.Label(root, text="Wybierz typ kodu:")
self.label_type.pack(pady=5)
self.barcode_type_var = tk.StringVar()
self.barcode_type_var.set("EAN13") # Default
self.barcode_type_combobox = ttk.Combobox(root, values=["EAN13", "EAN128"], textvariable=self.barcode_type_var)
self.barcode_type_combobox.pack(pady=5)
self.label_data = ttk.Label(root, text="Enter data:")
self.label_data.pack(pady=5)
self.entry_data = ttk.Entry(root)
self.entry_data.pack(pady=5)
self.generate_button = ttk.Button(root, text="Generate Barcode", command=self.generate_code)
self.generate_button.pack(pady=10)
def generate_code(self):
barcode_type = self.barcode_type_var.get()
data = self.entry_data.get()
if barcode_type == "EAN13":
if len(data) != 12 or not data.isdigit():
self.show_error("Invalid input! Please enter a 12-digit number.")
return
barcode = EAN13(data, writer=ImageWriter())
elif barcode_type == "EAN128":
barcode = Code128(data, writer=ImageWriter())
else:
self.show_error("Invalid barcode type selected.")
return
barcode.save(f"{barcode_type.lower()}_code")
self.show_info(f"{barcode_type} Code generated successfully for {data}")
def show_error(self, message):
tk.messagebox.showerror("Error", message)
def show_info(self, message):
tk.messagebox.showinfo("Information", message)
if __name__ == "__main__":
root = tk.Tk()
app = BarcodeGenerator(root)
root.mainloop()
Editor is loading...
Leave a Comment