73 lines
1.6 KiB
Python
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()
|