from PyQt5.QtGui import QIcon from PyQt5.QtCore import QObject from .misc import singleton import os @singleton class IconInstance(QObject): def __init__(self, parent) -> None: super().__init__(parent) self.GRID_ON = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/格网开.png')) self.AI_DETECT = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/AI变化检测.png')) self.EVALUATION = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/精度评估.png')) self.SPLASH = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/splash.png')) self.HELP = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/帮助.png')) self.LOGO = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/变化检测.png')) self.CHANGE = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/变化检测.png')) self.OK = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/ok.svg')) self.CANCEL = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/cancel.svg')) self.PLUGINS = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/插件配置.png')) self.CREATE = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/创建工程.png')) self.OPEN = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/打开工程.png')) self.SAVE = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/工程保存.png')) self.TOOLS = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/工具.png')) self.TOOLBOX = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/工具箱.png')) self.LOCATION = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/定位.png')) self.UNSUPERVISED = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/非监督.png')) self.ROAD_CHANGE = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/道路变化.png')) self.LANDSIDE = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/海岸变化.png')) self.SUPERVISED = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/监督.png')) self.VIEW_SETTING = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/视图设置.png')) self.FILTER = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/滤波.png')) self.PAN = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/平移.png')) self.CLOUD_REMOVE = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/去云.png')) self.WEAK_SUPERVISED = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/弱监督.png')) self.DELETE = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/删除.png')) self.VECTOR = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/矢量.png')) self.WATER_CHANGE = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/水体变化.png')) self.ZOOM_TO = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/缩放到.png')) self.LAYER = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/图层.png')) self.GRID_OFF = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/格网关闭.png')) self.DOCUMENT = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/文档.png')) self.FILE = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/文件.png')) self.SELECT = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/选择要素.png')) self.RASTER = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/影像.png')) self.VEGETATION = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/植被变化.png')) self.NOISE = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/噪声处理.png')) self.ARITHMETIC1 = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/Algorithm_icon/功能-01.png')) self.ARITHMETIC2 = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/Algorithm_icon/功能-02.png')) self.ARITHMETIC3 = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/Algorithm_icon/功能-03.png')) # self.ARITHMETIC3.QSize() self.DATA_LOAD = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/数据加载.png')) self.EXCIT = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/退出.png')) self.ZOOM_IN = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/放大.png')) self.ZOOM_OUT = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/缩小.png')) self.TABLE = QIcon(os.path.join(os.environ['ECD_BASEDIR'] , './icons/table.png')) def __getattr__(self, name: str) -> QIcon: try: return getattr(self, name) except: return self.LOGO