| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- import os
- import logging
- from PySide6.QtGui import QIcon, QImage
- import Kikka
- from Kikka.KikkaConst import *
- from Kikka.Utils.Singleton import singleton
- def getDefaultImage():
- return QImage(os.path.join(RESOURCES_PATH, "default.png"))
- @singleton
- class KikkaStyle:
-
- def __init__(self):
- self._theme = None
-
- def getThemePath(self):
- return os.path.join(THEME_PATH, self._theme)
-
- def switchTheme(self, theme=DEFAULT_THEME):
- theme_path = os.path.join(THEME_PATH, theme)
- theme_file = os.path.join(THEME_PATH, theme, "style_sheet.qss")
- if not os.path.exists(theme_file):
- # load default theme
- theme = DEFAULT_THEME
- theme_file = os.path.join(THEME_PATH, theme, "style_sheet.qss")
-
- with open(theme_file, "r", encoding="utf8") as fp:
- content = fp.read()
-
- self._theme = theme
- Kikka.app.setStyleSheet(content)
-
- file = os.path.join(theme_path, "menu_background.png")
- if os.path.exists(file):
- self.bg_image = QImage(file)
- else:
- self.bg_image = getDefaultImage()
- logging.warning("Menu background image NOT found: %s" % file)
- file = os.path.join(theme_path, "menu_foreground.png")
- if os.path.exists(file):
- self.fg_image = QImage(file)
- else:
- self.fg_image = getDefaultImage()
- logging.warning("Menu foreground image NOT found: %s" % file)
- file = os.path.join(theme_path, "menu_sidebar.png")
- if os.path.exists(file):
- self.side_image = QImage(file)
- else:
- self.side_image = getDefaultImage()
- logging.warning("Menu sidebar image NOT found: %s" % file)
-
-
- def getMenuBGImage(self):
- return self.bg_image
-
- def getMenuFGImage(self):
- return self.fg_image
-
- def getMenuSideImage(self):
- return self.side_image
-
-
|