Files
pqAutomationApp/app/resources.py
2026-04-20 09:41:24 +08:00

56 lines
1.5 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""资源与全局样式工具。
Step 0 重构:将原先散落在 pqAutomationApp.py 顶部的
get_resource_path / load_icon / backgroud_style_set 三个辅助函数
迁移到独立模块,保持行为完全一致。
"""
import os
import sys
import ttkbootstrap as ttk
from PIL import Image, ImageTk
# 项目根目录app/ 的上一级)。开发环境下用它作为资源查找基准,
# 从而兼容从项目根目录启动的 pqAutomationApp.py。
_PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
def get_resource_path(relative_path):
"""
获取资源文件的绝对路径(兼容开发环境和打包后)
Args:
relative_path: 相对路径,如 "assets/cie.png"
Returns:
str: 资源文件的绝对路径
"""
try:
# PyInstaller 打包后的临时文件夹路径
base_path = sys._MEIPASS
except AttributeError:
# 开发环境:使用项目根目录
base_path = _PROJECT_ROOT
return os.path.join(base_path, relative_path)
def load_icon(png_path):
"""加载并调整图标大小为 24x24原注释写 64x64实际 resize 为 24x24保持原行为"""
img = Image.open(get_resource_path(png_path))
img = img.resize((24, 24), Image.LANCZOS)
return ImageTk.PhotoImage(img)
def backgroud_style_set():
style = ttk.Style()
# 移除背景色设置,使用默认背景色
style.configure(
"SidebarSelected.TButton",
# anchor="w",
padding=10,
background="#005470",
)