搜索

PythonReactSEOPDF
GitHub Skill

test-gui

GUIアプリケーションの動作試験・デバッグを自動で行う

tatsuki-washimi☆ 0 仓库 Stars0 仓库 Forks

安装与使用

请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。

查看来源 ↗使用指南

技能说明

Test and Debug GUI

This skill helps in testing and debugging gwexpy.gui.

Instructions

  1. Run Automated Tests:

    • Run tests specifically marked for GUI (usually requiring pytest-qt).
    • Command: pytest -m gui or pytest tests/gui/. (Adjust based on actual markers/folders).
    • Check scripts/run_gui_tests.sh if it exists and run it.
  2. Debug Crashes:

    • If the GUI crashes (e.g. segmentation fault), look for logs or run with gdb if necessary/possible.
    • Check typical PyQt issues: Thread safety (updating UI from background thread), signal/slot mismatches, object lifecycle (Python garbage collecting C++ objects).
  3. Interactive Debugging:

    • Since this is an agent, "interactive" means adding print debugging or logging to the code and running it to capture output.
    • Focus on gwexpy/gui/main_window.py or relevant widget files.

Best Practices

  • Avoid Binding Conflicts: Use qtpy for imports in test files (e.g. from qtpy import QtWidgets).
  • Environment Variables: If multiple top-level bindings are installed, enforce consistency:
    • export QT_API=pyqt5
    • export PYTEST_QT_API=pyqt5
  • Handling Blocking Windows (plt.show):
    • When testing code that calls plt.show() or app.exec_(), use QTimer to close it automatically.

    • Example:

      from qtpy.QtCore import QTimer
      # ... inside test ...
      # Close active window after 100ms
      QTimer.singleShot(100, plt.close)
      # Or for raw Qt widgets:
      # QTimer.singleShot(100, widget.close)
      
      # Then call the blocking function
      plt.show()
      

使用示例

查看来源仓库中的使用示例与配置说明。

查看来源 ↗

来源历史

收录时间
2026-01-20
索引更新时间
2026-01-26
Branch
main

收录与同步日期属于本站记录。源码修改历史请查看来源仓库。

GitHub ↗

chat Comments (0)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!