Files
leonpan-pc/main.py
2025-11-02 19:17:20 +08:00

73 lines
1.6 KiB
Python

# coding:utf-8
import os
import sys
from loguru import logger
from PyQt6.QtCore import Qt, QTimer
from PyQt6.QtWidgets import QApplication
from app.core import cfg
from app.view.login_window import RegisterWindow
from app.view.main_window import MainWindow
from welcome_video import WelcomeVideoPlayer
from app.resource.resource import *
logger.add(
"logs/log_{time:YYYY-MM-DD_HH-mm-ss}.log", # 每次启动都新建
rotation="500MB",
encoding="utf-8",
enqueue=True,
retention="10 days",
)
if cfg.get(cfg.dpiScale) != "Auto":
os.environ["QT_ENABLE_HIGHDPI_SCALING"] = "0"
os.environ["QT_SCALE_FACTOR"] = str(cfg.get(cfg.dpiScale))
app = QApplication(sys.argv)
# 移除不支持的属性设置
w = RegisterWindow()
mainWindow = None
def showMainWindow():
global mainWindow
mainWindow = MainWindow()
mainWindow.show()
w.close()
w.loginSignal.connect(showMainWindow)
# 显示登录窗口
w.show()
# 检查是否首次运行
if cfg.firstRun.value:
logger.info("首次运行应用程序,显示欢迎视频")
# 隐藏登录界面元素
w.pivot.hide()
w.stackedWidget.hide()
w.logoImage.hide()
# 视频播放完成后更新配置
def update_first_run_flag():
# 更新首次运行标志
cfg.firstRun.value = False
cfg.save()
# 连接视频完成信号到更新标志函数
w.videoPlayer.videoFinished.connect(update_first_run_flag)
# 显示欢迎视频
w.show_welcome_video()
else:
# 非首次运行,确保界面元素可见
w.pivot.show()
w.stackedWidget.show()
w.logoImage.show()
app.exec()