Skip to main content

Qt UI Evidence

Investigate a Qt/PySide6 interface complaint with fresh screenshots, actual widget measurements and normal control input. Compare the expected visible result before and after a repair, while keeping measurements, visual judgments and unknowns separate.

The skill applies across unrelated Qt Widgets projects. It is not tied to a particular operating system, application, font or test framework. The Python tool compares captured measurements and optionally installs the skill into Codex; it does not automatically decide whether a layout is correct. Version 0.1.0 is an early release. See scope and verification and the comparison with existing tools.

Install

python -m pip install qt-ui-evidence

The base tool needs Python 3.9 or later, with no third-party runtime dependencies. It can compare evidence without Qt. If you also need the optional capture helper and do not already have PySide6 in your application's environment:

python -m pip install 'qt-ui-evidence[qt]'

For a source checkout before a registry release is available, use python -m pip install . from its root, or python -m pip install git+https://github.com/Belalkf/qt-ui-evidence.git. Choose the environment used by your application; do not replace its existing Qt dependency merely to use the skill.

Install the Codex skill

Run one explicit command after installing the package:

qt-ui-evidence install-skill --user

This creates ~/.agents/skills/qt-ui-evidence. For one project instead, use qt-ui-evidence install-skill --project /path/to/project. Both refuse existing files, directories or links; inspect an existing installation before changing it. A write failure may leave a partial installation for inspection. Installing the Python package alone never changes agent settings or skill directories.

Invoke it in Codex:

Use $qt-ui-evidence to investigate why increasing the visible-row setting does not increase the rows displayed. Use synthetic data, compare the starting and changed states, and report measurements, visual judgments and unknowns.

You can also install just skills/qt-ui-evidence using Codex's skill installer or copy that complete folder into a supported skill discovery directory. The skill works with existing QtTest or pytest-qt tools; the Python package is optional. Skill discovery does not install Qt or prove that a native display check ran.

Capture in an existing application test

Use the real affected widget in a trusted test process after its layout is ready:

from qt_ui_evidence import capture

before = capture(window, {"table": window.table}, evidence_directory)
# Perform the user's action with QtTest/pytest-qt and wait for the layout.
after = capture(window, {"table": window.table}, evidence_directory)

Capture requires an existing QApplication and its UI thread. It never shows hidden windows or changes their values, size or display mode. Each call creates a new folder containing widget.png and measurements.json; earlier evidence is preserved. The image can still contain private content: use synthetic data or keep it private. See measurement and capture limits.

Compare the two saved folders:

qt-ui-evidence compare before/capture-folder after/capture-folder

The command prints JSON containing changes in full/partial vertical row counts, selected geometry, visibility and environment. Row identities, viewport size and scroll positions remain in the comparison so unchanged counts cannot hide a different scrolled view. Exit 0 means comparison completed, not that the interface passed. Missing measurements stay unknown; changed environments are reported. It never edits inputs or infers fonts, hidden contents, accessibility or native correctness. Inspect the matching screenshots separately.

Run the original synthetic examples

From a checkout with the package and PySide6 installed:

QT_QPA_PLATFORM=offscreen python -m unittest discover -s tests -t . -v

Select offscreen explicitly before QApplication is created. On PowerShell, set $env:QT_QPA_PLATFORM='offscreen' before running Python. The tests cover a row preference that changes without revealing more rows, misplaced controls and nonworking collapse behavior, alongside corrected variants and valid layouts. They close owned windows and normally clean temporary captures. Set QT_EVIDENCE_OUTPUT to your chosen folder to retain unique evidence folders. Interrupt with Ctrl-C; only the foreground test process is owned by the run.

Both row screenshots have the setting at 6: before shows 3 rows; after shows 6. The station examples show clipped/overlapping controls and the working layout, including an intentional child badge. These are synthetic offscreen examples, not native-display acceptance.

Contribution and limits

Existing Qt tools already perform input, waits and capture. This project adds a complaint-driven procedure and repeatable evidence records; its independent baseline trial did not demonstrate better detection than a capable agent using those tools. Improvements can also be contributed to qt-testing. See the evidence and decision.

QML, OpenGL, video and native embedded surfaces are outside this capture helper. Screenshot-only font identification and native display certification are not supported. Support distinguishes intended compatibility from environments actually tested. Contributing and security reporting describe maintenance and safe examples. Original files are MIT licensed; Qt and other dependencies retain their own licences.

Metadata

Release files for qt-ui-evidence 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qt-ui-evidence 0.1.0
File Size Uploaded Provenance Actions
qt_ui_evidence-0.1.0.tar.gz 62.9 kB With provenance Details for qt_ui_evidence-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for qt-ui-evidence 0.1.0
File Interpreter ABI Platform Actions
qt_ui_evidence-0.1.0-py3-none-any.whl Python 3 none any Details for qt_ui_evidence-0.1.0-py3-none-any.whl

Total release size: 79.9 kB

Release files / qt_ui_evidence-0.1.0.tar.gz

Download URL qt_ui_evidence-0.1.0.tar.gz
Size 62.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5b3e42941ce9a3c5f51852ec90c248f9b1fed762c080ec3f343061309414e9fc
BLAKE2b-256 checksum
How to use checksums
9f89fb37c9b801b7421443f25f6dc7265bbde0a7a5be4463012ca9da3b0eec6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 9, 2026.

Transparency log

Release files / qt_ui_evidence-0.1.0-py3-none-any.whl

Download URL qt_ui_evidence-0.1.0-py3-none-any.whl
Size 17.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f9ad50e7482ddf0ade1ddf3abfa05542cc0d652e32d24b7942b5fcb48930273
BLAKE2b-256 checksum
How to use checksums
5f314c85d9ce81a70ffa4893bdf6e22ebb87da1d3b184dbd58c6f290f75732f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 9, 2026.

Transparency log

Security for qt-ui-evidence 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for qt_ui_evidence-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 9, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page