From 331f7a25d252288eb44665d389753f569ac3ab75 Mon Sep 17 00:00:00 2001
From: hyb-oyqq <1512383570@qq.com>
Date: Mon, 28 Jul 2025 15:22:31 +0800
Subject: [PATCH] =?UTF-8?q?refactor(ui):=20=E9=87=8D=E6=9E=84=20UI=20?=
=?UTF-8?q?=E7=9B=B8=E5=85=B3=E4=BB=A3=E7=A0=81=E5=B9=B6=E7=A7=BB=E9=99=A4?=
=?UTF-8?q?=E5=86=97=E4=BD=99=E8=B5=84=E6=BA=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 从 ui_manager.py 和 install.ui 中移除了使用 base64 图片数据的方式
- 采用直接加载图片文件的方法,提高了代码的可读性和维护性
- 删除了未使用的 popup.ui 文件
- 优化了资源路径的获取方式,使用 resource_path 函数统一处理
---
source/core/ui_manager.py | 10 +-
source/ui/Ui_install.py | 32 ++--
source/ui/install.ui | 333 --------------------------------------
source/ui/popup.ui | 19 ---
source/utils/helpers.py | 8 +-
5 files changed, 27 insertions(+), 375 deletions(-)
delete mode 100644 source/ui/install.ui
delete mode 100644 source/ui/popup.ui
diff --git a/source/core/ui_manager.py b/source/core/ui_manager.py
index 2b8453a..ea5cb43 100644
--- a/source/core/ui_manager.py
+++ b/source/core/ui_manager.py
@@ -5,7 +5,6 @@ import webbrowser
from utils import load_base64_image, msgbox_frame
from data.config import APP_NAME, APP_VERSION
-from data.pic_data import img_data
class UIManager:
def __init__(self, main_window):
@@ -22,10 +21,11 @@ class UIManager:
def setup_ui(self):
"""设置UI元素,包括窗口图标、标题和菜单"""
# 设置窗口图标
- icon_data = img_data.get("icon")
- if icon_data:
- pixmap = load_base64_image(icon_data)
- self.main_window.setWindowIcon(QIcon(pixmap))
+ import os
+ from utils import resource_path
+ icon_path = resource_path(os.path.join("IMG", "ICO", "icon.png"))
+ if os.path.exists(icon_path):
+ self.main_window.setWindowIcon(QIcon(icon_path))
# 设置窗口标题
self.main_window.setWindowTitle(f"{APP_NAME} v{APP_VERSION}")
diff --git a/source/ui/Ui_install.py b/source/ui/Ui_install.py
index 0c72deb..e03757e 100644
--- a/source/ui/Ui_install.py
+++ b/source/ui/Ui_install.py
@@ -1,4 +1,3 @@
-from data.pic_data import img_data
from PySide6.QtGui import QPixmap
import base64
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
@@ -15,8 +14,7 @@ import os
# 导入配置常量
from data.config import APP_NAME, APP_VERSION
-# 导入工具函数
-from utils import load_base64_image, load_image_from_file
+from utils import load_image_from_file
class Ui_MainWindows(object):
def setupUi(self, MainWindows):
@@ -292,43 +290,49 @@ class Ui_MainWindows(object):
self.loadbg.setObjectName(u"loadbg")
self.loadbg.setGeometry(QRect(0, 0, 1280, 655))
# 加载背景图并允许拉伸
- bg_pixmap = load_base64_image(img_data["loadbg"])
+ bg_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "IMG", "BG", "bg1.jpg")
+ bg_pixmap = QPixmap(bg_path)
self.loadbg.setPixmap(bg_pixmap)
self.loadbg.setScaledContents(True)
self.vol1bg = QLabel(self.inner_content)
self.vol1bg.setObjectName(u"vol1bg")
self.vol1bg.setGeometry(QRect(0, 150, 93, 64))
- # 使用更简洁的方式
- self.vol1bg.setPixmap(load_base64_image(img_data["vol1"]))
+ # 直接加载图片文件
+ vol1_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "IMG", "LOGO", "vo01_logo.png")
+ self.vol1bg.setPixmap(QPixmap(vol1_path))
self.vol1bg.setScaledContents(True)
self.vol2bg = QLabel(self.inner_content)
self.vol2bg.setObjectName(u"vol2bg")
self.vol2bg.setGeometry(QRect(0, 210, 93, 64))
- # 使用更简洁的方式
- self.vol2bg.setPixmap(load_base64_image(img_data["vol2"]))
+ # 直接加载图片文件
+ vol2_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "IMG", "LOGO", "vo02_logo.png")
+ self.vol2bg.setPixmap(QPixmap(vol2_path))
self.vol2bg.setScaledContents(True)
self.vol3bg = QLabel(self.inner_content)
self.vol3bg.setObjectName(u"vol3bg")
self.vol3bg.setGeometry(QRect(0, 270, 93, 64))
- # 使用更简洁的方式
- self.vol3bg.setPixmap(load_base64_image(img_data["vol3"]))
+ # 直接加载图片文件
+ vol3_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "IMG", "LOGO", "vo03_logo.png")
+ self.vol3bg.setPixmap(QPixmap(vol3_path))
self.vol3bg.setScaledContents(True)
self.vol4bg = QLabel(self.inner_content)
self.vol4bg.setObjectName(u"vol4bg")
self.vol4bg.setGeometry(QRect(0, 330, 93, 64))
- # 使用更简洁的方式
- self.vol4bg.setPixmap(load_base64_image(img_data["vol4"]))
+ # 直接加载图片文件
+ vol4_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "IMG", "LOGO", "vo04_logo.png")
+ self.vol4bg.setPixmap(QPixmap(vol4_path))
self.vol4bg.setScaledContents(True)
self.afterbg = QLabel(self.inner_content)
self.afterbg.setObjectName(u"afterbg")
self.afterbg.setGeometry(QRect(0, 390, 93, 64))
- # 使用更简洁的方式
- self.afterbg.setPixmap(load_base64_image(img_data["after"]))
+ # 直接加载图片文件
+ after_path = os.path.join(os.path.dirname(os.path.dirname(__file__)), "IMG", "LOGO", "voaf_logo.png")
+ self.afterbg.setPixmap(QPixmap(after_path))
self.afterbg.setScaledContents(True)
# 修复Mainbg位置并使用title_bg1.png作为背景图片
diff --git a/source/ui/install.ui b/source/ui/install.ui
deleted file mode 100644
index 400f680..0000000
--- a/source/ui/install.ui
+++ /dev/null
@@ -1,333 +0,0 @@
-
-
- MainWindows
-
-
- true
-
-
-
- 0
- 0
- 1024
- 576
-
-
-
-
- 1024
- 576
-
-
-
-
- 1024
- 576
-
-
-
- false
-
-
- false
-
-
- true
-
-
- UI Test
-
-
- true
-
-
- Qt::ToolButtonStyle::ToolButtonIconOnly
-
-
- true
-
-
- false
-
-
- false
-
-
-
- true
-
-
-
-
- 0
- 0
- 1031
- 561
-
-
-
-
-
-
- IMG/BG/bg2.jpg
-
-
- true
-
-
-
-
-
- 0
- 120
- 93
- 64
-
-
-
-
-
-
- IMG/LOGO/vo01_logo.png
-
-
- true
-
-
-
-
-
- 0
- 180
- 93
- 64
-
-
-
-
-
-
- IMG/LOGO/vo02_logo.png
-
-
- true
-
-
-
-
-
- 0
- 240
- 93
- 64
-
-
-
-
-
-
- IMG/LOGO/vo03_logo.png
-
-
- true
-
-
-
-
-
- 0
- 300
- 93
- 64
-
-
-
-
-
-
- IMG/LOGO/vo04_logo.png
-
-
- true
-
-
-
-
-
- 0
- 360
- 93
- 64
-
-
-
-
-
-
- IMG/LOGO/voaf_logo.png
-
-
- true
-
-
-
-
-
- 0
- 0
- 1031
- 561
-
-
-
-
-
-
- IMG/BG/bg3.jpg
-
-
- true
-
-
-
-
- true
-
-
-
- 780
- 250
- 191
- 91
-
-
-
-
-
-
- false
-
-
-
-
-
-
- IMG/BTN/start_install.bmpIMG/BTN/start_install.bmp
-
-
-
- 189
- 110
-
-
-
- false
-
-
- false
-
-
- false
-
-
- true
-
-
-
-
- true
-
-
-
- 780
- 340
- 191
- 91
-
-
-
- false
-
-
-
-
-
-
- IMG/BTN/exit.bmpIMG/BTN/exit.bmp
-
-
-
- 189
- 110
-
-
-
- false
-
-
- true
-
-
-
-
-
- 710
- 0
- 321
- 561
-
-
-
-
-
-
- IMG/BG/menubg.jpg
-
-
- true
-
-
- loadbg
- vol1bg
- vol2bg
- vol3bg
- vol4bg
- afterbg
- Mainbg
- menubg
- start_install_btn
- exit_btn
-
-
-
-
- update - sd
-
-
-
-
-
-
diff --git a/source/ui/popup.ui b/source/ui/popup.ui
deleted file mode 100644
index 7d7e0de..0000000
--- a/source/ui/popup.ui
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
- Form
-
-
-
- 0
- 0
- 480
- 270
-
-
-
- Form
-
-
-
-
-
diff --git a/source/utils/helpers.py b/source/utils/helpers.py
index 0601eaa..8a5c548 100644
--- a/source/utils/helpers.py
+++ b/source/utils/helpers.py
@@ -9,7 +9,6 @@ import psutil
from PySide6 import QtCore, QtWidgets
import re
from PySide6.QtGui import QIcon, QPixmap
-from data.pic_data import img_data
from data.config import APP_NAME, CONFIG_FILE
def resource_path(relative_path):
@@ -55,9 +54,10 @@ def msgbox_frame(title, text, buttons=QtWidgets.QMessageBox.StandardButton.NoBut
msg_box.setWindowTitle(title)
msg_box.setWindowModality(QtCore.Qt.WindowModality.WindowModal)
- icon_data = img_data.get("icon")
- if icon_data:
- pixmap = load_base64_image(icon_data)
+ # 直接加载图标文件
+ icon_path = resource_path(os.path.join("IMG", "ICO", "icon.png"))
+ if os.path.exists(icon_path):
+ pixmap = QPixmap(icon_path)
if not pixmap.isNull():
msg_box.setWindowIcon(QIcon(pixmap))
msg_box.setIconPixmap(pixmap.scaled(64, 64, QtCore.Qt.AspectRatioMode.KeepAspectRatio, QtCore.Qt.TransformationMode.SmoothTransformation))