95 lines
2.5 KiB
Python
95 lines
2.5 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
测试导入修复
|
|
"""
|
|
|
|
import sys
|
|
import os
|
|
|
|
def test_imports():
|
|
"""测试模块导入"""
|
|
print("🔍 测试模块导入...")
|
|
|
|
try:
|
|
# 测试基础模块导入
|
|
from data.project_manager import ProjectManager
|
|
print("✅ data.project_manager 导入成功")
|
|
|
|
from ui.main_window import MainWindow
|
|
print("✅ ui.main_window 导入成功")
|
|
|
|
from ui.import_project_dialog import ImportProjectDialog
|
|
print("✅ ui.import_project_dialog 导入成功")
|
|
|
|
from ui.sidebar import Sidebar
|
|
print("✅ ui.sidebar 导入成功")
|
|
|
|
from ui.project_area import ProjectArea
|
|
print("✅ ui.project_area 导入成功")
|
|
|
|
from ui.project_card import ProjectCard
|
|
print("✅ ui.project_card 导入成功")
|
|
|
|
return True
|
|
|
|
except Exception as e:
|
|
print(f"❌ 导入失败: {e}")
|
|
return False
|
|
|
|
def test_dialog_creation():
|
|
"""测试对话框创建"""
|
|
print("\n🔍 测试对话框创建...")
|
|
|
|
try:
|
|
from PyQt5.QtWidgets import QApplication
|
|
from data.project_manager import ProjectManager
|
|
from ui.import_project_dialog import ImportProjectDialog
|
|
|
|
# 创建应用程序实例(如果不存在)
|
|
app = QApplication.instance()
|
|
if app is None:
|
|
app = QApplication(sys.argv)
|
|
|
|
# 创建项目管理器
|
|
project_manager = ProjectManager()
|
|
print("✅ ProjectManager 创建成功")
|
|
|
|
# 创建导入对话框
|
|
dialog = ImportProjectDialog(project_manager)
|
|
print("✅ ImportProjectDialog 创建成功")
|
|
|
|
return True
|
|
|
|
except Exception as e:
|
|
print(f"❌ 对话框创建失败: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
return False
|
|
|
|
def main():
|
|
"""主函数"""
|
|
print("🚀 开始测试导入修复...")
|
|
print("=" * 50)
|
|
|
|
# 测试导入
|
|
import_success = test_imports()
|
|
|
|
if import_success:
|
|
# 测试对话框创建
|
|
dialog_success = test_dialog_creation()
|
|
|
|
if dialog_success:
|
|
print("\n🎉 所有测试通过!导入问题已修复。")
|
|
return True
|
|
else:
|
|
print("\n❌ 对话框创建测试失败")
|
|
return False
|
|
else:
|
|
print("\n❌ 模块导入测试失败")
|
|
return False
|
|
|
|
if __name__ == "__main__":
|
|
success = main()
|
|
sys.exit(0 if success else 1)
|