#!/usr/bin/env python # -*- encoding: utf-8 -*- ''' @file :myconfig.py @Description: :定义一些常用的配置 @Date :2023/09/24 13:09:19 @Author :lyzeng @Email :pylyzeng@gmail.com @version :1.0 ''' from dataclasses import dataclass, field, fields from typing import Tuple @dataclass class colorp(): color1: Tuple[Tuple[str, str], str] = field(default=(('color1', '[186,182,217]'), 'purple')) color2: Tuple[Tuple[str, str], str] = field(default=(('color2', '[233,195,153]'), 'yellow')) color3: Tuple[Tuple[str, str], str] = field(default=(('color3', '[43,113,216]'), 'blue_N')) color4: Tuple[Tuple[str, str], str] = field(default=(('color4', '[206,155,198]'), 'purple')) color5: Tuple[Tuple[str, str], str] = field(default=(('color5', '[251,187,62]'), 'orange')) color6: Tuple[Tuple[str, str], str] = field(default=(('color6', '[245,157,158]'), 'red')) color7: Tuple[Tuple[str, str], str] = field(default=(('color7', '[133,188,135]'), 'green')) color8: Tuple[Tuple[str, str], str] = field(default=(('color8', '[30,230,30]'),'green_CL')) # Cl卤素配色 color9: Tuple[Tuple[str, str], str] = field(default=(('color9', '[141,215,247]'),'blue_C')) # C配色 color10:Tuple[Tuple[str, str], str] = field(default=(('color10', '[0,132,55]'),'green_F')) # F卤素配色 grey1: Tuple[str, str] = field(default=('grey1','[224,224,224]')) colors: list = field(default_factory=list, init=False) # init=False 表示不在 __init__ 方法中初始化 def __post_init__(self): self.colors = [getattr(self, f.name) for f in fields(self) if f.name.startswith('color') and getattr(self, f.name)] @dataclass class font(): font_size:int = field(default=28) # 单位就是正常的px。你也可以用负值,则单位是Å @dataclass class mole(): stick_radius: float = field(default=0.10) @dataclass class atom(): size: float = field(default=0.28)