MetaCore-startup/tests/verify_button_fix.py
2025-10-11 09:24:06 +08:00

92 lines
2.8 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
验证按钮修复
"""
import sys
def verify_code_changes():
"""验证代码修改"""
print("🔍 验证代码修改...")
try:
# 读取修改后的文件
with open('ui/import_project_dialog.py', 'r', encoding='utf-8') as f:
content = f.read()
# 检查关键修改
checks = [
("select_files_requested 信号定义", "select_files_requested = pyqtSignal()"),
("按钮点击事件连接", "select_btn.clicked.connect(self.select_files_requested.emit)"),
("信号连接到主对话框", "self.upload_area.select_files_requested.connect(self.select_files)"),
]
all_passed = True
for check_name, check_text in checks:
if check_text in content:
print(f"{check_name}: 已修复")
else:
print(f"{check_name}: 未找到修复")
all_passed = False
return all_passed
except Exception as e:
print(f"❌ 验证失败: {e}")
return False
def verify_import():
"""验证导入"""
print("\n🔍 验证模块导入...")
try:
from ui.import_project_dialog import ImportProjectDialog, UploadArea
print("✅ ImportProjectDialog 导入成功")
print("✅ UploadArea 导入成功")
# 检查信号定义
upload_area = UploadArea()
if hasattr(upload_area, 'select_files_requested'):
print("✅ select_files_requested 信号存在")
else:
print("❌ select_files_requested 信号不存在")
return False
return True
except Exception as e:
print(f"❌ 导入验证失败: {e}")
return False
def main():
"""主函数"""
print("🔧 验证'点击选择'按钮修复")
print("=" * 50)
# 验证代码修改
code_ok = verify_code_changes()
# 验证导入
import_ok = verify_import()
print("\n" + "=" * 50)
if code_ok and import_ok:
print("🎉 修复验证成功!")
print("\n📋 修复内容:")
print("1. ✅ 在 UploadArea 类中添加了 select_files_requested 信号")
print("2. ✅ 连接了'点击选择'按钮的点击事件到信号")
print("3. ✅ 在主对话框中连接了信号到 select_files 方法")
print("\n💡 现在拖拽区域中的'点击选择'按钮应该可以正常工作了!")
print(" 点击按钮会打开文件选择对话框,让用户选择要导入的文件。")
return True
else:
print("❌ 修复验证失败,请检查代码修改。")
return False
if __name__ == "__main__":
success = main()
print("\n按Enter键退出...")
input()
sys.exit(0 if success else 1)