certflow.views.bases package

Subpackages

Submodules

Module contents

视图基类包(重构计划阶段 1)。

集中视图 / 对话框的通用契约与可复用 helper,消除各窗体手写重复接线。 基类均为纯新增、非破坏性:不改动任何现有视图的业务逻辑与信号契约, 现有视图可逐步改为继承以获得统一接线(属后续灰度迁移项)。

class certflow.views.bases.BaseView(parent=None)[源代码]

基类:QWidget

所有业务视图的基类。

现有视图当前在 __init__ 内联构造 UI、各自实现 refresh / retranslate_ui (仅 settings_viewretranslate_ui、仅 query_view_is_dark_theme)。 本类把这些散落约定收敛为统一钩子 + helper,供后续灰度迁移继承。

参数:

parent (QWidget | None)

init_ui()[源代码]

构造 UI。子类必须实现;基类在 __init__ 末尾调用一次。

返回类型:

None

refresh()[源代码]

外部触发的数据刷新(如切换流水线阶段、数据变更后)。默认空实现。

返回类型:

None

retranslate_ui()[源代码]

语言切换后刷新 UI 文本。默认空实现,MainWindow 可在语言变更时广播。

返回类型:

None

on_theme_changed(theme)[源代码]

主题切换回调("light" / "dark")。默认空实现,主题感知视图覆写。

参数:

theme (str)

返回类型:

None

tr(text)[源代码]

翻译文本。

委托 QApplication.instance().i18n_manager.tr``(与现有视图读取 ``app.theme_manager 的同一种全局挂载约定);找不到则原样返回。

参数:

text (str)

返回类型:

str

is_dark_theme()[源代码]

当前是否为深色主题(集中 query_view._is_dark_theme 的重复实现)。

返回类型:

bool

staticMetaObject = PySide6.QtCore.QMetaObject("BaseView" inherits "QWidget": )
class certflow.views.bases.BaseDialog(parent=None, title='', show_apply=False, confirm_text='确认', cancel_text='取消')[源代码]

基类:QDialog

标准对话框基类。

用法:

class MyDialog(BaseDialog):
    def init_ui(self) -> None:
        self.content_layout.addWidget(QLabel("内容"))

dlg = MyDialog(self, title="编辑", confirm_text="保存")
if dlg.exec():
    ...

按钮栏信号已接线:accepted -> accept()rejected -> reject()``applied -> self.applied``(可选「应用」按钮)。

参数:
  • parent (QWidget | None)

  • title (str)

  • show_apply (bool)

  • confirm_text (str)

  • cancel_text (str)

applied
confirm_danger(title, message, preview=None, ok_text='删除', ok_default=False)[源代码]

弹出来自 widgets.ConfirmDialog 的危险操作二次确认(确认逻辑收敛进 widgets)。

参数:
  • title (str) -- 对话框标题。

  • message (str) -- 提示正文。

  • preview (str | None) -- 可选详情(如待删除记录预览),折叠在「显示详情」里。

  • ok_text (str) -- 确认按钮文案(默认「删除」)。

  • ok_default (bool) -- 确认按钮是否默认聚焦(危险操作默认 False,聚焦取消)。

返回:

用户是否确认。

返回类型:

bool

init_ui()[源代码]

构造对话框内容。子类必须实现,往 self.content_layout 填充。

返回类型:

None

staticMetaObject = PySide6.QtCore.QMetaObject("BaseDialog" inherits "QDialog": Methods:   #41 type=Signal, signature=applied() )