Today we released PythonQt 3.2. It provides several bug fixes and improvements.
The main changes are:
improvements and fixes to QMetaObject creation on Python classes derived from QObject
wrapper generator now works with Qt 5.7 and Qt 5.8
various fixes in the type system
new naming convention for the generated shared libraries to allow side-by-side PythonQt libraries for Qt4/Qt5 and Python 2 / Python 3
The PythonQt 3.1 zip file contained wrappers for two methods which are not part of Qt 5.6, so compilation failed on all platforms. I updated the svn and the PythonQt 3.1 release zip file. Sorry for the inconvenience!
PythonQt 3.1 has just been released and contains fresh wrappers for Qt 5.6.
It adds support for QtCore.Slot, QtCore.Signal and QtCore.Property and creates dynamic meta objects
when slots, signals or properties are added. PythonQt now contains wrappers for QtQml and QtQuick.
It does not yet support extending Qml with Python classes. The QtWebKit support is now made optional,
since Qt 5.6 does not come with QtWebKit anymore.... read more
We added support for dynamic metaobject creation (QtCore.Signal, QtCore.Property, QtCore.Slot), which
is only supported on Qt5 and makes use of the private QMetaObjectBuilder.
This code is not backwards compatible to Qt4 and we decided to stop Qt4 support on the svn trunk.
The last working Qt4 version can be found in the SVN at branches/Qt4LastWorkingVersion/.
PythonQt 3.0 has just been released. After three years of small improvements on the SVN trunk, it was about time to do an official release.
The following features have been added:
The PythonQt 2.1 release is ready for download. We provide a legacy version with Qt 4.6.2 wrappers and a version with newly generated wrappers for Qt 4.8.
In addition to many bug fixes the following features have been added:
- support for new style signals
- improved introspection
- support for external object wrapping via PythonQtForeignWrapperFactory, e.g. to support existing SWIG wrappers
- improved ownership handling of wrapped C++ (non-QObject) objects... read more
The PythonQt 2.0 release contained a last minute feature that broke Python startup of PythonQt, this is fixed in the PythonQt 2.0.1 release and on SVN trunk. Lesson learned: Never add last minute features without running your unit tests.
This is the first PythonQt release that offers complete wrapping of the Qt framework using a wrapper generator. The core PythonQt library is still fully dynamic using the QMetaObject system, while the generator adds the parts of Qt which are not QObjects or signal/slots. Large parts of PythonQt have been rewritten since the last 1.1 release. PythonQt now supports multiple inheritance, polymorphic downcasting and a lot of other details which you can find in the documentation.
Deriving C++ classes from Python is now supported as well, but it is an experimental feature which has not been tested a lot.
A comparison to PyQt and PySide APIs has been added to the feature overview of the website.
This PythonQt 1.1 release offers a lot of small fixes and improvements to the project, after a long period of silence.
This is a major release of Python Qt 1.0.
Various aspects have been improved both on functionality and performance side. A number of examples have been added to make it easier to get started.
A short overview of the new features:
- Support for ALL built-in Qt QVariant types (with complete API mapped to Python)
- Support for custom MetaTypes in QVariants
- Support for Constructors of QObject derived classes
- Easy way to wrap non-slot methods of existing QObject derived classes with "decorator slots"
- Support for static methods on QObjects and CPP classes (via decorator slots)
- Complete Qt GUI Constructors/Destructors support via QUILoader
- Support for CPP Constructors and easy manual wrapping of CPP API
- Complete support for Enum types
- Support for Qt namespace and Enums
- Support for loading python scripts from Qt resources (see examples)
- Auto-completion on the PyScriptConsole, which is now part of PythonQt core library
- support for dir() statement on all wrapped objects
- new help() method that prints details on wrapped objects... read more
This release adds support for access to children of QObjects,
allows to connect/disconnect Qt signals to Python objects from within Python and fixes several small bugs.
In addition to that, slots can not receive PyObject pointers directly, to get Python objects without any marshalling.
The profiles for the build system where missing,
this is a minor update.
We are happy to announce the first public release of our dynamic binding of Qt4 to Python.
The first release is considered beta, but has been running in a commercial product for some month.
We are looking for Open Source developers to join and improve the project!