MCPcopy
hub / github.com/nadermx/backgroundremover / create_widgets

Method create_widgets

background_remover_gui.py:31–108  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

29 self.create_widgets()
30
31 def create_widgets(self):
32 # Main frame
33 main_frame = ttk.Frame(self.root, padding="10")
34 main_frame.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
35
36 # Configure grid weights
37 self.root.columnconfigure(0, weight=1)
38 self.root.rowconfigure(0, weight=1)
39 main_frame.columnconfigure(1, weight=1)
40
41 # Title
42 title_label = ttk.Label(main_frame, text="Background Remover",
43 font=("Arial", 16, "bold"))
44 title_label.grid(row=0, column=0, columnspan=3, pady=(0, 20))
45
46 # Input file selection
47 ttk.Label(main_frame, text="Input Image:").grid(row=1, column=0, sticky=tk.W, pady=5)
48 ttk.Entry(main_frame, textvariable=self.input_file, width=50).grid(
49 row=1, column=1, sticky=(tk.W, tk.E), padx=(5, 5), pady=5)
50 ttk.Button(main_frame, text="Browse",
51 command=self.browse_input_file).grid(row=1, column=2, pady=5)
52
53 # Output file selection
54 ttk.Label(main_frame, text="Output File:").grid(row=2, column=0, sticky=tk.W, pady=5)
55 ttk.Entry(main_frame, textvariable=self.output_file, width=50).grid(
56 row=2, column=1, sticky=(tk.W, tk.E), padx=(5, 5), pady=5)
57 ttk.Button(main_frame, text="Browse",
58 command=self.browse_output_file).grid(row=2, column=2, pady=5)
59
60 # Model selection
61 ttk.Label(main_frame, text="Model:").grid(row=3, column=0, sticky=tk.W, pady=5)
62 model_frame = ttk.Frame(main_frame)
63 model_frame.grid(row=3, column=1, sticky=(tk.W, tk.E), padx=(5, 0), pady=5)
64
65 models = ["u2net", "u2netp", "u2net_human_seg"]
66 for i, model in enumerate(models):
67 ttk.Radiobutton(model_frame, text=model, variable=self.model_choice,
68 value=model).grid(row=0, column=i, padx=(0, 10))
69
70 # Alpha matting option
71 ttk.Checkbutton(main_frame, text="Use Alpha Matting (better quality)",
72 variable=self.alpha_matting).grid(row=4, column=0, columnspan=3,
73 sticky=tk.W, pady=10)
74
75 # Process button
76 self.process_button = ttk.Button(main_frame, text="Remove Background",
77 command=self.process_image, style="Accent.TButton")
78 self.process_button.grid(row=5, column=0, columnspan=3, pady=20)
79
80 # Progress bar
81 self.progress = ttk.Progressbar(main_frame, mode='indeterminate')
82 self.progress.grid(row=6, column=0, columnspan=3, sticky=(tk.W, tk.E), pady=5)
83
84 # Status label
85 self.status_label = ttk.Label(main_frame, text="Ready to process images")
86 self.status_label.grid(row=7, column=0, columnspan=3, pady=5)
87
88 # Preview frame

Callers 1

__init__Method · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected