From 2383476f9a57fb3eceea418525e878b79eee5ed1 Mon Sep 17 00:00:00 2001 From: taojiayuan Date: Sun, 8 May 2022 23:50:01 +0800 Subject: [PATCH] improve assets --- UIFunc.py | 21 +++++++++++++++++---- {i18n => assets/i18n}/en.qm | Bin {i18n => assets/i18n}/en.ts | 0 {i18n => assets/i18n}/zh-cn.qm | Bin {i18n => assets/i18n}/zh-cn.ts | 0 {sounds => assets/sounds}/end.mp3 | Bin {sounds => assets/sounds}/start.mp3 | Bin 7 files changed, 17 insertions(+), 4 deletions(-) rename {i18n => assets/i18n}/en.qm (100%) rename {i18n => assets/i18n}/en.ts (100%) rename {i18n => assets/i18n}/zh-cn.qm (100%) rename {i18n => assets/i18n}/zh-cn.ts (100%) rename {sounds => assets/sounds}/end.mp3 (100%) rename {sounds => assets/sounds}/start.mp3 (100%) diff --git a/UIFunc.py b/UIFunc.py index b1b1bde..4ea5c2d 100644 --- a/UIFunc.py +++ b/UIFunc.py @@ -4,6 +4,7 @@ import json import os import re +import sys import threading import time import traceback @@ -44,9 +45,21 @@ def current_ts(): return int(time.time() * 1000) +def get_assets_path(*paths): + # pyinstaller -F --add-data ./assets;assets KeymouseGo.py + try: + root = sys._MEIPASS + except: + root = os.getcwd() + return os.path.join(root, 'assets', *paths) + + class UIFunc(QMainWindow, Ui_UIView): def __init__(self): super(UIFunc, self).__init__() + + print('assets root:', get_assets_path()) + self.setupUi(self) self.config = self.loadconfig() @@ -331,12 +344,12 @@ def onconfigchange(self): def onchangelang(self): if self.choice_language.currentText() == '简体中文': - self.trans.load('i18n/zh-cn') + self.trans.load(get_assets_path('i18n', 'zh-cn')) _app = QApplication.instance() _app.installTranslator(self.trans) self.retranslateUi(self) elif self.choice_language.currentText() == 'English': - self.trans.load('i18n/en') + self.trans.load(get_assets_path('i18n', 'en')) _app = QApplication.instance() _app.installTranslator(self.trans) self.retranslateUi(self) @@ -646,7 +659,7 @@ def run(self): def _play_start_sound(self): try: - path = os.path.join(os.getcwd(), 'sounds', 'start.mp3') + path = get_assets_path('sounds', 'start.mp3') playsound(path) except PlaysoundException as e: print(e) @@ -654,7 +667,7 @@ def _play_start_sound(self): @classmethod def play_end_sound(cls): try: - path = os.path.join(os.getcwd(), 'sounds', 'end.mp3') + path = get_assets_path('sounds', 'end.mp3') playsound(path) except PlaysoundException as e: print(e) diff --git a/i18n/en.qm b/assets/i18n/en.qm similarity index 100% rename from i18n/en.qm rename to assets/i18n/en.qm diff --git a/i18n/en.ts b/assets/i18n/en.ts similarity index 100% rename from i18n/en.ts rename to assets/i18n/en.ts diff --git a/i18n/zh-cn.qm b/assets/i18n/zh-cn.qm similarity index 100% rename from i18n/zh-cn.qm rename to assets/i18n/zh-cn.qm diff --git a/i18n/zh-cn.ts b/assets/i18n/zh-cn.ts similarity index 100% rename from i18n/zh-cn.ts rename to assets/i18n/zh-cn.ts diff --git a/sounds/end.mp3 b/assets/sounds/end.mp3 similarity index 100% rename from sounds/end.mp3 rename to assets/sounds/end.mp3 diff --git a/sounds/start.mp3 b/assets/sounds/start.mp3 similarity index 100% rename from sounds/start.mp3 rename to assets/sounds/start.mp3