[PyQt] Is it possible to override/extend QTextCursor?
Aaron Digulla
digulla at hepe.com
Sun Jan 6 18:23:39 GMT 2008
Hello,
I tried to overload insertText() of QTextCursor like this:
------------------------------------------------------------
from PyQt4.QtGui import QTextEdit, QTextCursor, QApplication
import sys
class MyCursor(QTextCursor):
def __init__(self, doc):
super(MyCursor, self).__init__(doc)
def beginEditBlock(self):
print 'beginEditBlock'
super(MyCursor, self).beginEditBlock()
def insertHtml(self, text):
print 'insertHtml',repr(text)
super(MyCursor, self).insertHtml(text)
def insertText(self, text, format=None):
print 'insertText',repr(text)
super(MyCursor, self).insertText(text, format)
app = QApplication(sys.argv)
edit = QTextEdit()
cursor = MyCursor(edit.document())
edit.setTextCursor(cursor)
edit.append('x')
print edit.toPlainText()
------------------------------------------------------------
but this test only outputs "x". I've checked the C++ source of Qt4 and
it should call at least the methods defined above.
I'm using openSUSE Linux and python-qt4 4.3-19. The methods are defined
in qtextcursor.sip, only insertText() is confusing:
void insertText(const QString &text);
void insertText(const QString &text, const QTextCharFormat &format);
Which one will Python overload?
Any ideas what could be wrong?
Thanks a lot,
--
Aaron "Optimizer" Digulla a.k.a. Philmann Dark
"It's not the universe that's limited, it's our imagination.
Follow me and I'll show you something beyond the limits."
http://www.pdark.de/
More information about the PyQt
mailing list