On Friday 05 August 2011, 20:27:51 David Cortesi wrote: > I present a document to a user in a QPlainTextEdit widget. The widget > nicely handles most editing functions, but there is a unique > operation I want to provide. When the user selects Edit > BLEEP, the > app is supposed to BLEEP the document. > > BLEEPing is not something Qt does, I have to implement BLEEP with > native Python code. So when the user says BLEEP it, I must: > > 1. Use QPlainTextEdit toPlainText() to get the document text as a > QString > > 2. Use QString toUTF8() to get Utf-8 text that Python can use
No, you just convert the QString to unicode. > 3. Apply my Python logic to BLEEP the text > > 4. Use QString fromUtf8() to return to a QString See above. > 5. Use QPlainTextEdit fromPlainText() to replace the document with > the BLEEPed contents. > > Does this sound right? > > Can PyQt do #2 and #4 automagically? Sure, just do import sip sip.setapi('QString', 2) before any PyQt imports, which does convert QString to unicode behind the scenes. Anyway, no need to encode/decode utf-8 strings here. > And what are the performance implications when a document might have > one or two megabytes of text? I guess, it mostly depends on the performance of your bleep algorithm. The rest is operating with compiled code, which should be sufficient. Pete _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt