[PyQt] QStringList does not inherit QList methods?

Phil Thompson phil at riverbankcomputing.com
Wed Jan 18 22:02:25 GMT 2012


On Wed, 18 Jan 2012 12:44:57 -0800, David Cortesi <davecortesi at gmail.com>
wrote:
> Per both the Qt Assistant and the PyQt4 class reference, QStringList
> inherits all methods of QList, but the following code produces the
> error message, AttributeError: 'QStringList' object has no attribute
> 'at'. If I convert the .at(0) to simple [0] indexing, the error moves
> on to say "no attribute 'removeFirst'".
> 
> from PyQt4.QtCore import(Qt,QString,QStringList,QRegExp)
> def trySplit(us,ur):
>     qs = QString(us)
>     qr = QRegExp(ur)
>     ql = qs.split(qr)
>     if unicode(ql.at(0)) == u'': # <-- no attribute 'at'
>         ql.removeFirst()   # <-- nor any attribute 'removeFirst' etc.
>     if unicode(ql.at(ql.size()-1)) == u'':
>         ql.removeLast()
>     print('sans leading/trailing nulls, split gives ',ql.count(),"
items")
>     for q in ql:
>         print(u'>'+unicode(q)+u'<')
> 
> It also doesn't seem to have a .size() method, only .count()
> 
> OK, so what am I doing wrong?

Only a subset of the QList methods are implemented. Use the corresponding
Python operators instead.

Phil


More information about the PyQt mailing list