certflow.views.scan_view module¶
合格证扫描件生成视图(WYSIWYG 单页 · 配置驱动)
设计(呼应 VBA「插入背景图片 + 浮动透明文本框」思路,§11.5 OutputView 子页): - 左右分屏(QSplitter):
左:实时预览 —— 以 coordinates.yaml 的坐标在 底图 上绘制字段(复用 ScanImageHandler), 所见即所得,与正式生成的扫描件版式完全一致(避免「点击生成扫描件看不到信息」)。
右:参数配置 —— 可编辑的合格证字段表单(产品名称/型号/规格/PN/温度/介质/标准/工号/日期/编号) + 扫描选项(模板/格式/纸张/拼版/输出目录)+ 生成按钮。
字段值由 UI 编辑(内存态 data_overrides,不落库),任一改动即时重绘预览; 生成时把覆盖值沿 ScanService 管道传给渲染,保证预览 == 产出。
- class certflow.views.scan_view.ScanView(session, db_manager=None, parent=None, scan_controller=None)[源代码]¶
基类:
QWidget合格证扫描件生成视图(WYSIWYG 单页)
- 参数:
session (Any)
db_manager (Any)
parent (Any)
scan_controller (Any)
- scan_completed¶
- set_template_by_family(family)[源代码]¶
按语言族(全中文/中英文/全英文/俄英文)设置模板下拉(D 套用)。
解析 family→具体 key(取该族首个启用变体),再定位
template_combo项设选中; 找不到则忽略(保持现状)。设置会触发_on_template_changed重绘预览。- 参数:
family (str)
- 返回类型:
None
- apply_layout_preset(label)[源代码]¶
按拼版推荐值 label 套用扫描拼版(D 套用)。
label为空或「自定义」→ 设为自定义(启用自旋框)。否则在
layout_combo精确/包含匹配;匹配到则选中并触发预设套用, 匹配不到则回退自定义。
- 参数:
label (str)
- 返回类型:
None
- staticMetaObject = PySide6.QtCore.QMetaObject("ScanView" inherits "QWidget": Methods: #33 type=Signal, signature=scan_completed(QVariantList), parameters=QVariantList )¶