[PyQt] regression from 4.4.x to 4.5.x when passing enum arguments?
Gerard Vermeulen
gav451 at gmail.com
Tue Jul 21 21:09:09 BST 2009
Phil,
I have the following SIP specification :
class QwtScaleTransformation
{
%TypeHeaderCode
#include <qwt_scale_map.h>
%End // %TypeHeaderCode
public:
enum Type {
Linear,
Log10,
Other
}; // enum Type
QwtScaleTransformation(QwtScaleTransformation::Type);
virtual ~QwtScaleTransformation();
virtual double xForm(double, double, double, double, double) const;
virtual double invXForm(double, double, double, double, double) const;
QwtScaleTransformation::Type type() const;
virtual QwtScaleTransformation* copy() const /Factory/;
private:
QwtScaleTransformation(const QwtScaleTransformation&);
}; // class QwtScaleTransformation
and when using the constructor in Python, I get the following traceback:
Traceback (most recent call last):
File "zarko.py", line 20, in transformation
y = LoadScaleTransformation()
File "zarko.py", line 30, in __init__
Qwt.QwtScaleTransformation.__init__(Qwt.QwtScaleTransformation.Linear)
TypeError: descriptor '__init__' requires a 'sip.simplewrapper' object
but received a 'Type'
I suspect that this was working with PyQt-4.4.x and the corresponding
version of SIP, because this statement comes from a bug report of a
PyQwt user using Ubuntu Jaunty and the problem is somewhere else.
Regards -- Gerard
More information about the PyQt
mailing list