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
load_certificates(certificate_ids)[源代码]

加载要生成扫描件的合格证(来自打印视图跳转或外部调用)。

参数:

certificate_ids (list[int])

返回类型:

None

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

resizeEvent(event)[源代码]

窗口/分屏尺寸变化 → 重新缩放预览。

参数:

event (Any)

返回类型:

None

staticMetaObject = PySide6.QtCore.QMetaObject("ScanView" inherits "QWidget": Methods:   #33 type=Signal, signature=scan_completed(QVariantList), parameters=QVariantList )