Kaynağa Gözat
Update to PythonQt 3.0
Note that this update does NOT yet allow to build CTK with PythonQt
support using Qt5. This will be done later after commontk/PythonQt#22
and commontk/CTK#564 are integrated.
8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----
Source: http://sourceforge.net/p/pythonqt/news/2015/02/pythonqt-30-released/
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:
Python 3 support
Qt 5 support
C++/Python ownership tracking for most of the Qt API
better support for Pylint and jedi completion library (by e.g. implementing doc strings on slots)
wrapping of all protected methods and protected enums
many small improvements and bug fixes
8<----8<----8<----8<----8<----8<----8<----8<----8<----8<----
$ git shortlog e1f1c77..503597b --no-merges
Jean-Christophe Fillion-Robin (6):
Add README file specific to CTK github fork
Fix "_invalid_parameter_noinfo_noreturn" link error
Update Readme.md to use new url format for svn revision reference
Add CMake testing support
Revert part of r91 preventing QFlags from being wrapped
Ensure "PythonQtUtils.h" is installed when building using CMake
John Stark (1):
Fix VS2010 compilation issue when PythonQt Debug build against python Release
Matthew Woehlke (3):
fix problem in CMake error message
allow specifying install directories
remove trailing spaces in CMakeLists.txt
Steve Pieper (1):
Fix mac build error with C standard lib macros
florianlink (149):
made generator compile on VC11
removed event() method from QClipboard and QWebFrame to avoid deriving from these classes, since they have private destructors
fixed wrong inplace operator function assignment
updated with current MeVisLab version
replaced signals, slots and foreach with Q_* macros
started qt5 port
replaced emit with Q_EMIT added std::endl
replaced run script with direct AddObject calls added PythonQt to builtin_module_names
added searching super class in class hierachy
undefine slots keyword and introduce PY3K define
merged Qt5 port and exception parsing
deleted unmaintained original files
removed QNoImplicitBoolCast, it seems to be gone in Qt 5.3 added extra qualifier if flags are used
readded linefeed
removed qualifier again, the problem was QUrlTwoFlag<>
Qt5 introduces new QUrl flags
initial qt5 support
initial qt5 support
added typeName helper to make it behave like Qt4
added more Qt5 specific classes added sorting of enums and operators to get smaller diffs in the future
adapted test to Qt5
adapted test to Qt5, escape is gone in Qt5
adapted examples to Qt5 removed non-working and old factory example
renamed 4.8 bindings
added wrapper for Qt 5.0 and 5.3
more adaptions because of Qt 5.0
qt5 adaptions
auto-select pre-generated wrappers
- started PY3K porting - use Py_TYPE and PyVarObject_HEAD_INIT - added define for PyString_FromString() - removed old-classes support for PY3K
further PY3K port
return unicode instead on Py3
further PY3K port
adapted to PY3K
upgraded to PY3K
ported test to PY3K
added define for debug PY3K
fixed porting typo
ported to PY3K
fixed Python 2 build
removed warnings
added support for QtMsgType
updated documentation
updated to doxygen 1.8.x
updated documentation
added note
added more Qt5 classes and moved some from Core to GUI
removed phonon, which never worked started cleanup of xml files added sorting of fields for less diffs
further cleanup
removed phonon and xmlpatterns, which never worked
removed unused files
removed unused rules
further cleanup
further cleanup
added polymorphic type ids
fixed building of xmlpatterns
updated 5.3 api to current generator xmls
do not generate shell classes for classes that don't have any constructors
added Qt multimedia added missing flags
reverted accidental commit
use "__" as delimiter for nested classes
further cleanup of typesystem, enabled some nested classes
added support for nested classes (only one level)
further cleanup, removed duplicate enum warning
added missing constData()
typesystem cleanup
reverted
added missing classes
added QOpenGLPaintDevice
added more classes
QDataStream::ByteOrder
added missing flags and types
more improvements
fixed error
added QPersistentModelIndex
moved generate=no to xml added extra enum
added more tests
added new conversion templates
added new QList/QVector aliases
changed to new templates
added support for registering QList/QVector template converters for non-pointer types that are used register aliases for QList/QVector<enum> -> QList<int>
added test
changed to use last index (for nested templates like QPair)
added new tests
added new conversions for QList/QPair/QHash/QMap support QMetaType::QVariant, which was added in Qt 4.8
added more aliases
GLuint64 may not be present, disable test for the moment
added implicit conversion of unicode to QByteArray for PY3K
simplified QList<Object*> conversion added support for QList<...> and converters on Qt properties / QVariant conversion
added more tests
fixed compilation for Qt 4.x register QObjectList and QList<QObject*> to allow usage in Q_PROPERTY
updated to current generator (and added missing files)
added newly generated wrappers
added multimedia include
added support for new BoolResult class to support bool* parameters
added new source file to cmake
changed to only map unicode to QByteArray in non-strict mode
updated docs
implemented polymorphic downcasting on subclasses added better conversion of C++ to Python for virtual method overloads (and signals)
support meta type based converters for pointer return values as well (e.g. QList<QInputEventMethod::Attribute>*), since wrapper generates * from const& return values
added additional nested classes
cleanup of generator allow creation of protected non-virtuals support protected enums that are used on protected methods cleanup of typesystem and support removal and replacement of default args
removed connectNotify from QClipboard to avoid promoter creation
further typesystem cleanup
more cleanup
fixed name shadowing via argument index fixed typesystem for Qt5
updated to current generator
removed unused code
changed generator to use int instead of protected enums in shell and wrapper class (clang would not compile the previous approach using friend)
updated wrappers to build on clang
added support for size_t in properties and slots
added support for [] mapping operators
remoted QClipboard promoter
fully removed QClipboard::event
moved uitools to CONFIG for QT4 enabled xml patterns and multimedia for QT5
using AsLongLong to allow larger Python int values to be converted to double
fixed protected static method promotion
fixed protected static method promotion (which in Qt 5.3 occurs only on QPixmap::fromImageInPlace())
moved iostream include to the top, since people reported XCode6 compile problems
added new inject-code target pywrap-operators
improved generator to allow disabling shell and promoter creation
special check for inventor wrappers
remove virtual functions that are removed from the target language (why was this commented?)
added support for additional code injection places
added support for additional code injection places
speedup of generator by factor 2
added special field accessors for Inventor
merged various improvements from MeVisLab repository - support for properties on class wrappers - support for return type completion on jedi library (using __doc__ of methods) - auto importing known packages when classname appears on interface - support of intrusive ref-counting for OpenInventor (and other ref counted libraries) - and other small details
fixed method promotion code when argument is named like the method
initia$ git shortlog e1f1c77..503597b --no-merges
Jean-Christophe Fillion-Robin (6):
Add README file specific to CTK github fork
Fix "_invalid_parameter_noinfo_noreturn" link error
Update Readme.md to use new url format for svn revision reference
Add CMake testing support
Revert part of r91 preventing QFlags from being wrapped
Ensure "PythonQtUtils.h" is installed when building using CMake
John Stark (1):
Fix VS2010 compilation issue when PythonQt Debug build against python Release
Matthew Woehlke (3):
fix problem in CMake error message
allow specifying install directories
remove trailing spaces in CMakeLists.txt
Steve Pieper (1):
Fix mac build error with C standard lib macros
florianlink (149):
made generator compile on VC11
removed event() method from QClipboard and QWebFrame to avoid deriving from these classes, since they have private destructors
fixed wrong inplace operator function assignment
updated with current MeVisLab version
replaced signals, slots and foreach with Q_* macros
started qt5 port
replaced emit with Q_EMIT added std::endl
replaced run script with direct AddObject calls added PythonQt to builtin_module_names
added searching super class in class hierachy
undefine slots keyword and introduce PY3K define
merged Qt5 port and exception parsing
deleted unmaintained original files
removed QNoImplicitBoolCast, it seems to be gone in Qt 5.3 added extra qualifier if flags are used
readded linefeed
removed qualifier again, the problem was QUrlTwoFlag<>
Qt5 introduces new QUrl flags
initial qt5 support
initial qt5 support
added typeName helper to make it behave like Qt4
added more Qt5 specific classes added sorting of enums and operators to get smaller diffs in the future
adapted test to Qt5
adapted test to Qt5, escape is gone in Qt5
adapted examples to Qt5 removed non-working and old factory example
renamed 4.8 bindings
added wrapper for Qt 5.0 and 5.3
more adaptions because of Qt 5.0
qt5 adaptions
auto-select pre-generated wrappers
- started PY3K porting - use Py_TYPE and PyVarObject_HEAD_INIT - added define for PyString_FromString() - removed old-classes support for PY3K
further PY3K port
return unicode instead on Py3
further PY3K port
adapted to PY3K
upgraded to PY3K
ported test to PY3K
added define for debug PY3K
fixed porting typo
ported to PY3K
fixed Python 2 build
removed warnings
added support for QtMsgType
updated documentation
updated to doxygen 1.8.x
updated documentation
added note
added more Qt5 classes and moved some from Core to GUI
removed phonon, which never worked started cleanup of xml files added sorting of fields for less diffs
further cleanup
removed phonon and xmlpatterns, which never worked
removed unused files
removed unused rules
further cleanup
further cleanup
added polymorphic type ids
fixed building of xmlpatterns
updated 5.3 api to current generator xmls
do not generate shell classes for classes that don't have any constructors
added Qt multimedia added missing flags
reverted accidental commit
use "__" as delimiter for nested classes
further cleanup of typesystem, enabled some nested classes
added support for nested classes (only one level)
further cleanup, removed duplicate enum warning
added missing constData()
typesystem cleanup
reverted
added missing classes
added QOpenGLPaintDevice
added more classes
QDataStream::ByteOrder
added missing flags and types
more improvements
fixed error
added QPersistentModelIndex
moved generate=no to xml added extra enum
added more tests
added new conversion templates
added new QList/QVector aliases
changed to new templates
added support for registering QList/QVector template converters for non-pointer types that are used register aliases for QList/QVector<enum> -> QList<int>
added test
changed to use last index (for nested templates like QPair)
added new tests
added new conversions for QList/QPair/QHash/QMap support QMetaType::QVariant, which was added in Qt 4.8
added more aliases
GLuint64 may not be present, disable test for the moment
added implicit conversion of unicode to QByteArray for PY3K
simplified QList<Object*> conversion added support for QList<...> and converters on Qt properties / QVariant conversion
added more tests
fixed compilation for Qt 4.x register QObjectList and QList<QObject*> to allow usage in Q_PROPERTY
updated to current generator (and added missing files)
added newly generated wrappers
added multimedia include
added support for new BoolResult class to support bool* parameters
added new source file to cmake
changed to only map unicode to QByteArray in non-strict mode
updated docs
implemented polymorphic downcasting on subclasses added better conversion of C++ to Python for virtual method overloads (and signals)
support meta type based converters for pointer return values as well (e.g. QList<QInputEventMethod::Attribute>*), since wrapper generates * from const& return values
added additional nested classes
cleanup of generator allow creation of protected non-virtuals support protected enums that are used on protected methods cleanup of typesystem and support removal and replacement of default args
removed connectNotify from QClipboard to avoid promoter creation
further typesystem cleanup
more cleanup
fixed name shadowing via argument index fixed typesystem for Qt5
updated to current generator
removed unused code
changed generator to use int instead of protected enums in shell and wrapper class (clang would not compile the previous approach using friend)
updated wrappers to build on clang
added support for size_t in properties and slots
added support for [] mapping operators
remoted QClipboard promoter
fully removed QClipboard::event
moved uitools to CONFIG for QT4 enabled xml patterns and multimedia for QT5
using AsLongLong to allow larger Python int values to be converted to double
fixed protected static method promotion
fixed protected static method promotion (which in Qt 5.3 occurs only on QPixmap::fromImageInPlace())
moved iostream include to the top, since people reported XCode6 compile problems
added new inject-code target pywrap-operators
improved generator to allow disabling shell and promoter creation
special check for inventor wrappers
remove virtual functions that are removed from the target language (why was this commented?)
added support for additional code injection places
added support for additional code injection places
speedup of generator by factor 2
added special field accessors for Inventor
merged various improvements from MeVisLab repository - support for properties on class wrappers - support for return type completion on jedi library (using __doc__ of methods) - auto importing known packages when classname appears on interface - support of intrusive ref-counting for OpenInventor (and other ref counted libraries) - and other small details
fixed method promotion code when argument is named like the method
initial support for ownership handling
added initial support for passing ownership to C++ and Python using templates as markup
improved signature normalization
added support for QList ownership passing
fixed bug that was introduced by refactoring added ownership handling for QList<SomeObject*>
added more default arguments
added ownership handling to central Qt classes
fixed ugly problem with itemChange method
regenerated wrappers for Qt 5.3 including ownership handling
regenerated wrappers for Qt 5.0 including ownership handling
regenerated wrappers for Qt 4.8 including ownership handling
updated docs
fixed compilation
removed mapPlanes that can not be wrapped
added Qt 5.4
added Qt 5.4 support
added Qt 5.4 wrappers
removed PyQt references
removed extra incref on PyObject* that are returned from slots. The ref-count needs to be increased by slots returning a PyObject (or by returning a new PyObject, which already has its initial ref count)
fixed ref-counting in test
reuse wrapper if it inherits, not only if it is the same class
texpert (1):
Fix unused variable warning in PythonQtSlotl support for ownership handling
added initial support for passing ownership to C++ and Python using templates as markup
improved signature normalization
added support for QList ownership passing
fixed bug that was introduced by refactoring added ownership handling for QList<SomeObject*>
added more default arguments
added ownership handling to central Qt classes
fixed ugly problem with itemChange method
regenerated wrappers for Qt 5.3 including ownership handling
regenerated wrappers for Qt 5.0 including ownership handling
regenerated wrappers for Qt 4.8 including ownership handling
updated docs
fixed compilation
removed mapPlanes that can not be wrapped
added Qt 5.4
added Qt 5.4 support
added Qt 5.4 wrappers
removed PyQt references
removed extra incref on PyObject* that are returned from slots. The ref-count needs to be increased by slots returning a PyObject (or by returning a new PyObject, which already has its initial ref count)
fixed ref-counting in test
reuse wrapper if it inherits, not only if it is the same class
texpert (1):
Fix unused variable warning in PythonQtSlot