#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 知识管理平台助手 - 精简版 PyQt6桌面应用入口 功能: - 知识管理平台浏览(登录、标记已读) - wkhtmltoimage截图 - 金山文档表格上传 作者: 老王 """ import sys import os # 确保在正确的目录 os.chdir(os.path.dirname(os.path.abspath(__file__))) from PyQt6.QtWidgets import QApplication from PyQt6.QtCore import Qt from PyQt6.QtGui import QFont from config import get_config from ui.main_window import MainWindow from ui.styles import get_stylesheet, LIGHT_THEME, DARK_THEME def main(): """应用入口""" # 高DPI支持 if hasattr(Qt, 'AA_EnableHighDpiScaling'): QApplication.setAttribute(Qt.ApplicationAttribute.AA_EnableHighDpiScaling, True) if hasattr(Qt, 'AA_UseHighDpiPixmaps'): QApplication.setAttribute(Qt.ApplicationAttribute.AA_UseHighDpiPixmaps, True) app = QApplication(sys.argv) # 设置应用信息 app.setApplicationName("知识管理平台助手") app.setApplicationVersion("1.0.0") app.setOrganizationName("zsglpt-lite") # 设置默认字体 font = QFont("Microsoft YaHei", 10) app.setFont(font) # 加载配置并应用主题 config = get_config() theme = LIGHT_THEME if config.theme == "light" else DARK_THEME app.setStyleSheet(get_stylesheet(theme)) # 创建主窗口 window = MainWindow() window.show() # Check for JSON to SQLite migration from config import CONFIG_FILE if CONFIG_FILE.exists(): from utils.storage import migrate_from_json window.log("检测到旧JSON配置,正在迁移到SQLite...") if migrate_from_json(): window.log("✅ 配置迁移成功") else: window.log("⚠️ 配置迁移失败,将使用默认配置") # 启动日志 window.log("应用启动成功") window.log(f"数据目录: {os.path.abspath('data')}") # Show database info from utils.storage import _get_db_path db_path = _get_db_path() window.log(f"数据库: {db_path}") # 检查wkhtmltoimage from core.screenshot import _resolve_wkhtmltoimage_path wkhtml = _resolve_wkhtmltoimage_path() if wkhtml: window.log(f"wkhtmltoimage: {wkhtml}") else: window.log("⚠️ 警告: 未找到 wkhtmltoimage,截图功能可能不可用") sys.exit(app.exec()) if __name__ == "__main__": main()