[PyQt] PyQwt and SIP-4.12.1

Phil Thompson phil at riverbankcomputing.com
Fri Jan 28 14:51:07 GMT 2011


On Fri, 28 Jan 2011 15:30:18 +0100, Gerard Vermeulen <gav451 at gmail.com>
wrote:
> On 01/28/2011 12:22 PM, Phil Thompson wrote:
>> On Thu, 27 Jan 2011 16:28:48 +0100, Gerard Vermeulen <gav451 at gmail.com>
>> wrote:
>>> Hi,
>>>
>>> The following works with sip-4.12 (python compiled in my home
>> directory):
>>> Python 2.6.6 (r266:84292, Jan  8 2011, 16:35:06)
>>> [GCC 4.4.4] on linux2
>>> Type "help", "copyright", "credits" or "license" for more information.
>>>>>> import PyQt4.Qwt5 as qwt
>>>>>> import sip
>>>>>> sip.SIP_VERSION_STR
>>> '4.12'
>>>>>> qwt.QwtText(Qt.QString("wow"))
>>> <PyQt4.Qwt5.Qwt.QwtText object at 0x216cb90>
>>> but not with sip-4.12.1 (python in Gentoo system):
>>> Python 2.6.6 (r266:84292, Dec 30 2010, 09:16:49)
>>> [GCC 4.4.4] on linux2
>>> Type "help", "copyright", "credits" or "license" for more information.
>>>>>> import PyQt4.Qwt5 as qwt
>>>>>> import sip
>>>>>> sip.SIP_VERSION_STR
>>> '4.12.1'
>>>>>> qwt.QwtText(Qt.QString("wow"))
>>> Traceback (most recent call last):
>>>   File "<stdin>", line 1, in <module>
>>> TypeError: QwtText(): arguments did not match any overloaded call:
>>>   overload 1: argument 1 has unexpected type 'QString'
>>>   overload 2: argument 1 has unexpected type 'QString'
>>>
>>> The relevant part of the sip file for QwtText is attached.
>>>
>>> Best regards -- Gerard
>> Can you provide I self contained test case that demonstrates the
problem
>> (I can't)?
>>
>> Phil
> OK, I think this is the same problem that I found when trying to use
hgview
> (shows up when using qscintilla):
> 
> #!/usr/bin/env python
> # -*- coding: utf-8 -*-
> 
> import PyQt4.Qt as Qt
> from PyQt4.Qsci import QsciScintilla
> 
> application = Qt.QApplication([])
> qs = QsciScintilla()
> qs.setMarginWidth(1, '000')
> 
> # Local Variables: ***
> # mode: python ***
> # End: ***
> 
> gives:
> 
> gav at zombie ~ $ python 041201.py
> Traceback (most recent call last):
>   File "041201.py", line 9, in <module>
>     qs.setMarginWidth(1, '000')
> TypeError: arguments did not match any overloaded call:
>   QsciScintilla.setMarginWidth(int, int): argument 2 has unexpected type
>   'str'
>   QsciScintilla.setMarginWidth(int, QString): argument 2 has unexpected
>   type 'str'
> 
> And if you replace
> qs.setMarginWidth(1, '000')
> with
> qs.setMarginWidth(1, Qt.QString('000'))
> you'll get
> 
> gav at zombie ~ $ python 041201.py
> Traceback (most recent call last):
>   File "041201.py", line 9, in <module>
>     qs.setMarginWidth(1, Qt.QString('000'))
> TypeError: arguments did not match any overloaded call:
>   QsciScintilla.setMarginWidth(int, int): argument 2 has unexpected type
>   'QString'
>   QsciScintilla.setMarginWidth(int, QString): argument 2 has unexpected
>   type
> 'QString'
> 
> Gerard

Works fine for me - I think your installation is broken.

Phil


More information about the PyQt mailing list