diff --git a/VideoSubtitleRemover_vsr.spec b/VideoSubtitleRemover_vsr.spec index 7b1c603..93853bd 100644 --- a/VideoSubtitleRemover_vsr.spec +++ b/VideoSubtitleRemover_vsr.spec @@ -21,6 +21,12 @@ datas = [ (os.path.join(current_dir, 'ui/icon'), 'ui/icon'), ] +# 手动添加interface文件,确保被包含 +for filename in os.listdir(os.path.join(current_dir, 'backend/interface')): + if filename.endswith('.ini'): + src = os.path.join(current_dir, 'backend/interface', filename) + datas.append((src, 'backend/interface')) + binaries = [] # 收集重要包的数据文件 @@ -297,8 +303,6 @@ exe = EXE( codesign_identity=None, entitlements_file=None, icon=['design\\vsr.ico'], - # 请求管理员权限 - uac_admin=True, # 以管理员身份运行 ) coll = COLLECT( diff --git a/gui.py b/gui.py index 279b88e..6d1fc38 100644 --- a/gui.py +++ b/gui.py @@ -11,9 +11,16 @@ import os import configparser import cv2 import multiprocessing +import ctypes from PySide6.QtCore import Qt, QTranslator from PySide6 import QtCore, QtWidgets, QtGui from PySide6.QtWidgets import QApplication, QFrame, QStackedWidget, QHBoxLayout, QLabel + +# 请求管理员权限(Windows) +if sys.platform == 'win32' and not ctypes.windll.shell32.IsUserAnAdmin(): + params = ' '.join([f'"{arg}"' for arg in sys.argv]) + ctypes.windll.shell32.ShellExecuteW(None, 'runas', sys.executable, params, None, 1) + sys.exit(0) from qfluentwidgets import (FluentWindow, PushButton, Slider, ProgressBar, PlainTextEdit, setTheme, Theme, FluentIcon, CardWidget, SettingCardGroup, ComboBoxSettingCard, SwitchSettingCard, setThemeColor, OptionsConfigItem,