[PyQt] Problem with UTF-8 files and QScintilla

piotr maliński riklaunim at gmail.com
Mon Dec 1 10:23:38 GMT 2008


I'm trying to use QScintilla with a file opened with QFile (and not Python
functions). With files that contain ascii only characters it works, but for
utf-8 files with non-ascii character it doesn't - the code snippet:
############################
self.ui.editor.setUtf8(True)
...
text =QtCore.QFile(url)
text.open(QtCore.QIODevice.ReadWrite | QtCore.QIODevice.Text)
txt = QtCore.QString(text.readAll())
self.ui.editor.setText(txt)
text.close()
############################

If I use:
self.ui.editor.setText(txt.toUtf8())
QSci will thow exception (TypeError: argument 1 of QsciScintilla.setText()
has an invalid type) as it wants QString and not QByteArray :) Is there a
file encoding safe way to open a text file and pass it to QScintilla widget?
I was using codecs and normal open with try/except - try another way/
solution but it was bit uggly, and had problems with some files encodings.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20081201/372c6288/attachment-0001.html


More information about the PyQt mailing list