[PySide] [PySide strings returned from widgets have extra blank bytes between the letters][2014.07.25]
Daniel Gollás
gollas at gmail.com
Fri Jul 25 23:37:00 CEST 2014
Hello, It was suggested on this thread in the forums
(http://qt-project.org/forums/viewthread/45374/) that this might be
something interesting for the pyside devs to look at.
The summary is the following:
I built pyside using the buildscripts on CentOS 6.5 and Qt 4.8
(installed using these
reposhttp://www.qtcentre.org/threads/56495-How-to-install-4-8-on-CentOS-6)
<http://www.qtcentre.org/threads/56495-How-to-install-4-8-on-CentOS-6%29>on
a virtual environment using Python 2.7
I tested an application that works perfectly fine on Windows
andOSXand found that whenever I printed a string from a widget (ie.
comboBox.currentText() where comboBox is a QComboBox) I was missing
half the string.
Checking the length of the returned object I found that it had the
correct length, but uppon further inspection I realized it had an
extra blank byte between each letter. For example, a QLineEdit with
the text "hello" would only print "hel".
Printing the string as hex bytes using:
1.
print":".join(['%0X'%ord(b)forb in myString])
resulted in something like 68:0:65:0:6C, where indeed there is a 0
byte between each character.
TheGUIis built using pyside-uic from ui files created in the Creator.
This sounds like I'm getting two byte unicode characters, but why am
I only getting half the bytes?
I found and solved the issue but it might help somebody or even be worth
documenting:
CentOS 6.5 comes with Python 2.6 and I had created my virtual
environment with Python 2.7 compiled from source.
I recompiled Python 2.7 adding ---enable-unicode=ucs4 when
configuring the build. The default is to compile with
---enable-unicode=ucs2
so in the end I compiled like this:
1.
./configure--prefix/usr/local--enable-shared--enable-unicode=ucs4
2.
make
3.
make altinstall
I recreated my virtualenv with the newly compiled python and
everything works as it should!
Cheers!
Daniel Gollás
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20140725/008fe3d1/attachment.html>
More information about the PySide
mailing list