#!/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)