Change Log

1.5.0

General

Added:

  • Compatibility with Qt 6.9.

Changed:

  • Qat does not depends on Qt’s QNetwork library anymore as it uses its own TCP server.

1.4.0

General

Added:

  • Qat now supports PySide and PyQt applications for all compatible Qt versions.

Removed:

  • Qat does not support Qt 6.1 anymore.

Changed:

  • Pip package generation now uses the hatch build backend.

GUI

Added:

  • Ability to attach the Spy Window to an already running application.

Python API

Fixed:

  • Improved error messages when qat.attach_to_application() function fails. (see issue #24)

  • qat.attach_to_application() can no use the application name instead of the process name.

  • Qat applications can now be manually started without setting the ‘TEMP’ environment variable. (see issue #25)

1.3.0

General

Added:

  • Compatibility with Qt 6.8.

Python API

Added:

  • qat.type_in() and qat.shortcut() functions can now generate native events by using the qat.Platform constant as the object definition. See API documentation for details.

  • qat.QApp constant can be used to interact with the QGuiApplication instance and to take screenshots of the entire screen / desktop.

Note

  • Support for Qt 6.1 will be removed in the next version (1.4.0).

1.2.0

General

Added:

  • Support for Mac OS (both ARM and Intel architectures).

Python API

Fixed:

  • qat.connect() now supports signals with arguments (see issue #26).

1.1.2

Python API

Fixed:

  • Focus issue when using qat.type_in() function (see issue #22).

1.1.1

GUI

Fixed:

  • User folder for Qat preferences is created if it does not exist.

1.1.0

GUI

  • GUI was completely rewritten and is now based on CustomTkinter:

    • Themes are supported (system / light / dark),

    • More intuitive flow with Save/Cancel buttons,

    • Available methods are displayed in the property table (issue #13),

    • Faster navigation in the Spy object tree and property table.

Python API

Changed:

  • All functions using an object definition now accept a simple string that will be interpreted as an objectName.

Added:

  • New method list_methods() has been added to the QtObject class. Similar to the list_properties() method, it returns a list of existing methods for an object.

  • New classes to represent common Qt types, allowing to create instances of QPoint, QFont, QColor, QRect, QSize, etc. These instances can be used as properties and method arguments.

    from qat.qt_types import *
    color = QColor("yellow", alpha=160)
    font = QFont("Times", pixelSize=16, bold=True, italic=False)
    rectangle = QRect(QPoint(10, 10), QSize(150, 50))
    
  • New API function qat.detach() allowing an application to keep running after a script terminates (see issue #20)

Fixed:

  • Scripts hang if the application is not closed (issue #20). Started applications are now automatically closed when a script terminates.