On Tue, 18 Oct 2005 18:24:08 +0100 Phil Thompson <[EMAIL PROTECTED]> wrote:
> I'm wondering whether QString should be dropped in PyQt4 in order to make it > more Pythonic. > > At the moment Python strings and unicode strings are automatically converted > to QStrings when passed as arguments - so there would be no change there. If > a QString was returned by a method or an operator then a unicode string would > be returned instead. > It sounds appealing but what does it cost in memory when a QString is shared between many other objects? If the conversion for all shared QStrings can be impemented in constant memory, I have less reservations (sometimes I translate between C++ and Python). If not, it may be that PyQt becomes less interesting for certain applications (for instance using qtsql, or with huge quantities of text). Memory footprint does matter. > > Obviously you would lose all of QString's methods and would have to rely on > what Python gives you for manipulating strings. > > One of the limitations of QString has been that you couldn't do... > > q = "Py" + QString("Qt") > > ...but with current snapshots you can - so this is an argument for keeping > QString as it has become easier to use. > > BTW, the following is a consequence of the additional support... > > s = "Py" > # s is of type str > s += QString("Qt") > # s is now of type QString > Is this really necessary (causes surprises when passing the result where a Python string is expected)? anInt += aFloat # anInt is of type float aFloat += anInt # aFloat is of type float Gerard _______________________________________________ PyKDE mailing list PyKDE@mats.imk.fraunhofer.de http://mats.imk.fraunhofer.de/mailman/listinfo/pykde