certflow.views.bases.base_dialog module¶
对话框基类(重构计划阶段 1,对应蓝图 §7.2 任务 1.3 widgets 收敛)。
职责归位(REFACTOR §2.4):按钮栏与危险确认逻辑统一收敛进 widgets/,本基类仅作
组合基类,复用共享件而非自行实现:
底部标准按钮栏(确认 / 取消 / 应用)由
widgets.DialogButtonBar提供,按内容定宽、 右对齐,发出accepted/rejected/applied。危险操作二次确认由
widgets.ConfirmDialog.danger提供(见confirm_danger), 集中危险样式与文案,避免各对话框手写QMessageBox.question。顶部工具栏请使用
widgets.ActionToolbar``(``button_row.py),与对话框底部按钮栏 职责分离:ActionToolbar面向视图工具条(左对齐、按内容定宽),DialogButtonBar面向对话框底部(右对齐、带信号)。内容区布局
content_layout:子类往里填充控件 / 子布局。Esc 关闭(
QDialog默认行为,显式保证)。尺寸策略:
SetMinimumSize,对话框收缩到内容、不撑满整行(呼应布局修复第 2.2 节)。
非破坏性:仅提供标准骨架,现有复杂对话框(如 import_dialog)仍可保持手写布局。
- class certflow.views.bases.base_dialog.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``(可选「应用」按钮)。- applied¶
- confirm_danger(title, message, preview=None, ok_text='删除', ok_default=False)[源代码]¶
弹出来自
widgets.ConfirmDialog的危险操作二次确认(确认逻辑收敛进 widgets)。
- staticMetaObject = PySide6.QtCore.QMetaObject("BaseDialog" inherits "QDialog": Methods: #41 type=Signal, signature=applied() )¶