Refactor PhotoTagger GUI to standardize canvas background colors and improve layout configurations. Update canvas elements to inherit background color from the theme, ensuring visual consistency. Adjust grid settings for match frames to enhance alignment and responsiveness, contributing to a more cohesive user experience.
This commit is contained in:
parent
15b7c10056
commit
199a75098d
@ -3645,7 +3645,9 @@ class PhotoTagger:
|
||||
matched_info_label.grid(row=2, column=0, pady=(0, 10), sticky=tk.W)
|
||||
|
||||
# Matched person image
|
||||
matched_canvas = tk.Canvas(left_frame, width=300, height=300, bg='white')
|
||||
style = ttk.Style()
|
||||
canvas_bg_color = style.lookup('TFrame', 'background') or '#d9d9d9'
|
||||
matched_canvas = tk.Canvas(left_frame, width=300, height=300, bg=canvas_bg_color, highlightthickness=0)
|
||||
matched_canvas.grid(row=3, column=0, pady=(0, 10))
|
||||
|
||||
# Save button for this person (will be created after function definitions)
|
||||
@ -3689,7 +3691,9 @@ class PhotoTagger:
|
||||
scrollbar.grid(row=0, column=1, rowspan=1, sticky=(tk.N, tk.S))
|
||||
|
||||
# Create canvas for matches with scrollbar
|
||||
matches_canvas = tk.Canvas(matches_frame, yscrollcommand=scrollbar.set)
|
||||
style = ttk.Style()
|
||||
canvas_bg_color = style.lookup('TFrame', 'background') or '#d9d9d9'
|
||||
matches_canvas = tk.Canvas(matches_frame, yscrollcommand=scrollbar.set, bg=canvas_bg_color, highlightthickness=0)
|
||||
matches_canvas.grid(row=1, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
|
||||
scrollbar.config(command=matches_canvas.yview)
|
||||
|
||||
@ -4157,26 +4161,29 @@ class PhotoTagger:
|
||||
# Bind the callback to the variable
|
||||
match_var.trace('w', lambda *args: on_checkbox_change(match_var, matched_id, match['unidentified_id']))
|
||||
|
||||
# Create a frame for the checkbox and text labels
|
||||
text_frame = ttk.Frame(match_frame)
|
||||
text_frame.grid(row=0, column=0, sticky=tk.W, padx=(0, 10))
|
||||
# Configure match frame for grid layout
|
||||
match_frame.columnconfigure(0, weight=0) # Checkbox column - fixed width
|
||||
match_frame.columnconfigure(1, weight=1) # Text column - expandable
|
||||
match_frame.columnconfigure(2, weight=0) # Image column - fixed width
|
||||
|
||||
# Checkbox without text
|
||||
checkbox = ttk.Checkbutton(text_frame, variable=match_var)
|
||||
checkbox.pack(side=tk.LEFT, padx=(0, 5))
|
||||
checkbox = ttk.Checkbutton(match_frame, variable=match_var)
|
||||
checkbox.grid(row=0, column=0, rowspan=2, sticky=(tk.W, tk.N), padx=(0, 5))
|
||||
match_checkboxes.append(checkbox)
|
||||
|
||||
# Create labels for confidence and filename
|
||||
confidence_label = ttk.Label(text_frame, text=f"{confidence_pct:.1f}% {confidence_desc}", font=("Arial", 9, "bold"))
|
||||
confidence_label.pack(anchor=tk.W)
|
||||
confidence_label = ttk.Label(match_frame, text=f"{confidence_pct:.1f}% {confidence_desc}", font=("Arial", 9, "bold"))
|
||||
confidence_label.grid(row=0, column=1, sticky=tk.W, padx=(0, 10))
|
||||
|
||||
filename_label = ttk.Label(text_frame, text=f"📁 {match['unidentified_filename']}", font=("Arial", 8), foreground="gray")
|
||||
filename_label.pack(anchor=tk.W)
|
||||
filename_label = ttk.Label(match_frame, text=f"📁 {match['unidentified_filename']}", font=("Arial", 8), foreground="gray")
|
||||
filename_label.grid(row=1, column=1, sticky=tk.W, padx=(0, 10))
|
||||
|
||||
# Unidentified face image
|
||||
if show_faces:
|
||||
match_canvas = tk.Canvas(match_frame, width=100, height=100, bg='white')
|
||||
match_canvas.grid(row=0, column=1, padx=(10, 0))
|
||||
style = ttk.Style()
|
||||
canvas_bg_color = style.lookup('TFrame', 'background') or '#d9d9d9'
|
||||
match_canvas = tk.Canvas(match_frame, width=100, height=100, bg=canvas_bg_color, highlightthickness=0)
|
||||
match_canvas.grid(row=0, column=2, rowspan=2, sticky=(tk.W, tk.N), padx=(10, 0))
|
||||
|
||||
unidentified_crop_path = self._extract_face_crop(
|
||||
unidentified_photo_path,
|
||||
@ -4367,7 +4374,9 @@ class PhotoTagger:
|
||||
faces_frame.columnconfigure(0, weight=1)
|
||||
faces_frame.rowconfigure(0, weight=1)
|
||||
|
||||
faces_canvas = tk.Canvas(faces_frame, bg='white')
|
||||
style = ttk.Style()
|
||||
canvas_bg_color = style.lookup('TFrame', 'background') or '#d9d9d9'
|
||||
faces_canvas = tk.Canvas(faces_frame, bg=canvas_bg_color, highlightthickness=0)
|
||||
faces_scrollbar = ttk.Scrollbar(faces_frame, orient="vertical", command=faces_canvas.yview)
|
||||
faces_inner = ttk.Frame(faces_canvas)
|
||||
faces_canvas.create_window((0, 0), window=faces_inner, anchor="nw")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user