По-мойму подойдет это (взято из документации Qt в разделе QTextCursor):
void QTextCursor::insertImage ( const QString & name )
This is an overloaded member function, provided for convenience.
Convenience method for inserting the image with the given name at the current position().
QImage img = ...
textDocument->addResource(QTextDocument::ImageResource, QUrl("myimage"), img);
cursor.insertImage("myimage");
А вообще это надо читать про QTextCursor, QTextDocument,QTextEdit и еще прочитать Rich Text Processing в Qt-документации. Сам этим сейчас занимаюсь, так как нужно примерно такое же поведение.