[PyQt] How to use QHash in PyQt?

donglongchao donglongchao at 163.com
Wed Feb 3 11:24:28 GMT 2010

在2010-02-03 17:41:17,"Phil Thompson" <phil at riverbankcomputing.com> 写道: >On Wed, 3 Feb 2010 10:31:44 +0800 (CST), donglongchao ><donglongchao at 163.com> >wrote: >> Hi,all >>  >> I am newbie to PyQt and I have a question when I work on my app with >PyQt. >> I want to use a QDataStream to form a QHash object into a QByteArray and >> write it into a QTcpSocket.But there is an error when I run my app said  >> NameError: global name 'QHash' is not defined.I have import everything >from >> QtCore and QtGui.Also I can locate qhash.sip in my computer >> (/usr/share/sip/PyQt4/QtCore/qhash.sip).So I want to know wherer is the >> problem and how to use QHash here. > >In C++ QHash is a template. For the classes that Qt provides a qHash() >implementation, PyQt implements the __hash__ method so that hash() returns >the value that qHash() returns.

But I still do not know how to create an object like QHash<int,QString>.I checked the file qhash.sip and find that 
 QHash<TYPE1, TYPE2> is implemented as a Python dictionary.So is it possible to convert a dict object into a QHash<TYPE1,TYPE2> object?Because I can not use a dict object with QDataStream's operator "<<" directly.
Thanks a lot.

 > >Phil 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20100203/a046c221/attachment-0001.html>

More information about the PyQt mailing list