qt-testing

Capture screenshots of Qt widgets for visual inspection without displaying windows on screen.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "qt-testing" with this command: npx skills add talmolab/sleap/talmolab-sleap-qt-testing

Qt GUI Testing

Capture screenshots of Qt widgets for visual inspection without displaying windows on screen.

Quick Start

Capture any widget

from scripts.qt_capture import capture_widget path = capture_widget(my_widget, "description_here")

Then read the screenshot with the Read tool

Core Script

Run scripts/qt_capture.py or import capture_widget from it:

Standalone test

uv run --with PySide6 python .claude/skills/qt-testing/scripts/qt_capture.py

Output Location

All screenshots save to: scratch/.qt-screenshots/

Naming: {YYYY-MM-DD.HH-MM-SS}_{description}.png

Workflow

  • Create/obtain the widget to test

  • Call capture_widget(widget, "description")

  • Read the saved screenshot with the Read tool

  • Analyze with vision to verify correctness

Interaction Pattern

To interact with widgets (click buttons, etc.):

Find widget at coordinates (from vision analysis)

target = widget.childAt(x, y)

Trigger it directly (not mouse events)

if hasattr(target, 'click'): target.click() QApplication.processEvents()

Capture result

capture_widget(widget, "after_click")

Example: Test a Dialog

import sys from PySide6.QtWidgets import QApplication from sleap.gui.learning.dialog import TrainingEditorDialog

Add skill scripts to path

sys.path.insert(0, ".claude/skills/qt-testing") from scripts.qt_capture import capture_widget, init_qt

app = init_qt() dialog = TrainingEditorDialog() path = capture_widget(dialog, "training_dialog") dialog.close() print(f"Inspect: {path}")

Key Points

  • Uses Qt.WA_DontShowOnScreen

  • no window popup

  • Renders identically to on-screen display (verified)

  • Call processEvents() after interactions before capture

  • Use childAt(x, y) to map vision coordinates to widgets

  • Direct method calls (.click() ) work; simulated mouse events don't

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

investigation

No summary provided by upstream source.

Repository SourceNeeds Review
General

Kafka

Kafka - command-line tool for everyday use

Registry SourceRecently Updated
General

Helm

Helm - command-line tool for everyday use

Registry SourceRecently Updated
General

Cms

Cms - command-line tool for everyday use

Registry SourceRecently Updated