init
This commit is contained in:
74
image_generator/gui.py
Normal file
74
image_generator/gui.py
Normal file
@@ -0,0 +1,74 @@
|
||||
import customtkinter
|
||||
import tkinter as tk
|
||||
from tkinter import filedialog
|
||||
import SvgCreatorModel
|
||||
|
||||
class App(customtkinter.CTk):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
|
||||
self.title("Exporter")
|
||||
self.geometry("377x170")
|
||||
customtkinter.set_default_color_theme("dark-blue")
|
||||
|
||||
self.entry_svg_folder = customtkinter.CTkEntry(self, width=350, placeholder_text="SVG-Ordner Pfad")
|
||||
self.entry_svg_folder.grid(row=0, column=0, pady=10)
|
||||
self.button_svg_folder = customtkinter.CTkButton(self, text="...", command=self.button_find_svg, width=10)
|
||||
self.button_svg_folder.grid(row=0, column=1)
|
||||
|
||||
self.entry_excel_file = customtkinter.CTkEntry(self, width=350, placeholder_text="EXCEL-Datei Pfad")
|
||||
self.entry_excel_file.grid(row=1, column=0)
|
||||
self.button_excel_file = customtkinter.CTkButton(self, text="...", width=10, command=self.button_find_excel)
|
||||
self.button_excel_file.grid(row=1, column=1)
|
||||
|
||||
self.entry_output = customtkinter.CTkEntry(self, width=350, placeholder_text="OUTPUT-Ordner Pfad")
|
||||
self.entry_output.grid(row=2, column=0)
|
||||
self.button_output = customtkinter.CTkButton(self, text="...", width=10, command=self.button_find_output)
|
||||
self.button_output.grid(row=2, column=1, pady=10)
|
||||
|
||||
self.button_run = customtkinter.CTkButton(self, text="start", width=100, state="disabled", command=self.run)
|
||||
self.button_run.grid(row=3, column=0)
|
||||
|
||||
def button_find_svg(self):
|
||||
file_path = filedialog.askdirectory(title="Select a folder")
|
||||
if file_path:
|
||||
self.entry_svg_folder.delete(0, tk.END)
|
||||
self.entry_svg_folder.insert(0, file_path)
|
||||
self.check_inputs()
|
||||
|
||||
def button_find_output(self):
|
||||
file_path = filedialog.askdirectory(title="Select a folder")
|
||||
if file_path:
|
||||
self.entry_output.delete(0, tk.END)
|
||||
self.entry_output.insert(0, file_path)
|
||||
self.check_inputs()
|
||||
|
||||
def button_find_excel(self):
|
||||
file_path = filedialog.askopenfilename(title="Select a file", filetypes=[("Excel Files", "*.xlsx *.xls")])
|
||||
if file_path:
|
||||
self.entry_excel_file.delete(0, tk.END)
|
||||
self.entry_excel_file.insert(0, file_path)
|
||||
self.check_inputs()
|
||||
|
||||
def check_inputs(self):
|
||||
if all([
|
||||
self.entry_output.get(),
|
||||
self.entry_excel_file.get(),
|
||||
self.entry_svg_folder.get()
|
||||
]):
|
||||
self.button_run.configure(state="normal")
|
||||
|
||||
def run(self):
|
||||
obj = SvgCreatorModel.SvgCreatorModel(self.entry_svg_folder.get(), self.entry_excel_file.get(), self.entry_output.get())
|
||||
self.withdraw() # Hide the main window
|
||||
try:
|
||||
obj.extract_excel()
|
||||
except Exception as e:
|
||||
pass
|
||||
|
||||
self.deiconify() # Show the main window
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app = App()
|
||||
app.mainloop()
|
||||
Reference in New Issue
Block a user