页面ui更新
This commit is contained in:
parent
fcc43390c6
commit
57b8a035b8
|
|
@ -9,7 +9,7 @@
|
|||
├ 左:识别图 + 已点清单 ─────┬─ 右:绿提示 + 大预览 ─┤
|
||||
│ 识别整图 / 菜名 / 数量 │ │ 流畅预览 + 识别框叠加 │
|
||||
├──────────────────────────┴───────────────────────┤
|
||||
│ 底栏:暂停/继续扫描|选图识别|清空|设置 │
|
||||
│ 底栏:暂停/继续扫描|选图识别|清空|待学习库 │
|
||||
└──────────────────────────────────────────────────┘
|
||||
|
||||
预览约 25fps 刷帧;识别按「动→静保持」触发一次,框叠在实时画面上。
|
||||
|
|
@ -1393,21 +1393,13 @@ class BaseDishApp(PendingLearningUIMixin):
|
|||
panel = tk.Frame(parent, bg=c["surface"], highlightbackground=c["border"], highlightthickness=1)
|
||||
panel.pack(fill=tk.BOTH, expand=True)
|
||||
|
||||
head = tk.Frame(panel, bg=c["surface"])
|
||||
head.pack(fill=tk.X, padx=12, pady=(12, 8))
|
||||
tk.Label(head, text="已点菜品", bg=c["surface"], fg=c["text"],
|
||||
font=FONTS["h1"]).pack(side=tk.LEFT)
|
||||
self.cart_count_label = tk.Label(head, text="0 项", bg=c["surface"], fg=c["muted"],
|
||||
font=FONTS["small"])
|
||||
self.cart_count_label.pack(side=tk.RIGHT)
|
||||
|
||||
# 识别整图:放在清单上方空白区
|
||||
# 识别整图:放在清单上方(去掉「已点菜品」标题栏,把空间留给预览)
|
||||
img_wrap = tk.Frame(
|
||||
panel, bg=c["pos_row_alt"],
|
||||
highlightbackground=c["border"], highlightthickness=1,
|
||||
height=168,
|
||||
height=220,
|
||||
)
|
||||
img_wrap.pack(fill=tk.X, padx=8, pady=(0, 8))
|
||||
img_wrap.pack(fill=tk.X, padx=8, pady=(8, 8))
|
||||
img_wrap.pack_propagate(False)
|
||||
self.cart_result_label = tk.Label(
|
||||
img_wrap,
|
||||
|
|
@ -1431,10 +1423,9 @@ class BaseDishApp(PendingLearningUIMixin):
|
|||
tk.Label(cols, text=text, bg=c["pos_row_alt"], fg=c["muted"],
|
||||
font=FONTS["small"], width=w, anchor="w").pack(side=tk.LEFT, padx=4, pady=6)
|
||||
|
||||
# 已点清单禁止滑动(内容直接铺开,不出现滚动条)
|
||||
self._cart_canvas = None
|
||||
self.cart_frame = tk.Frame(panel, bg=c["surface"])
|
||||
self.cart_frame.pack(fill=tk.BOTH, expand=True, padx=4, pady=4)
|
||||
# 已点清单可滚动:菜品多时下滑查看
|
||||
wrap, self.cart_frame, self._cart_canvas = self._make_scroll_area(panel, c["surface"])
|
||||
wrap.pack(fill=tk.BOTH, expand=True, padx=4, pady=4)
|
||||
return panel
|
||||
|
||||
def _build_pos_preview(self, parent, c):
|
||||
|
|
@ -1584,8 +1575,7 @@ class BaseDishApp(PendingLearningUIMixin):
|
|||
command=self.clear_cart).pack(side=tk.LEFT, padx=(0, 10))
|
||||
self.setup_pending_learning_ui(inner, side=tk.LEFT, fill=tk.NONE, expand=False,
|
||||
padx=(0, 10), pady=0)
|
||||
PillButton(inner, text="设置", variant="secondary",
|
||||
command=self.show_settings_dialog).pack(side=tk.RIGHT)
|
||||
# 设置入口仅保留顶栏,避免底栏重复
|
||||
# 相机状态同步需要该属性;真正学菜按钮在设置页创建
|
||||
self.camera_add_btn = self.camera_btn
|
||||
self._refresh_record_btn()
|
||||
|
|
@ -3305,6 +3295,13 @@ class BaseDishApp(PendingLearningUIMixin):
|
|||
|
||||
if hasattr(self, "cart_count_label"):
|
||||
self.cart_count_label.config(text=f"{len(self._cart)} 项")
|
||||
canvas = getattr(self, "_cart_canvas", None)
|
||||
if canvas is not None:
|
||||
try:
|
||||
self.cart_frame.update_idletasks()
|
||||
canvas.configure(scrollregion=canvas.bbox("all"))
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
def render_result_dock(self, dishes, labeled_path=None, frame_bgr=None):
|
||||
"""识别结果写入购物车(含未知),并刷新左侧识别标注图。"""
|
||||
|
|
|
|||
Loading…
Reference in New Issue